écrire une matrice dans un fichier en C

Résolu/Fermé
wind of happiness Messages postés 12 Date d'inscription dimanche 25 avril 2010 Statut Membre Dernière intervention 25 juin 2010 - 27 avril 2010 à 23:59
EminoMeneko Messages postés 2434 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 23 mai 2018 - 28 avril 2010 à 21:59
salut,

on vient de commencer les fichiers et je voudrais savoir comment lire une matrice(n,m) au clavier et l'écrit dans un fichier en LANGAGE C. je sais pas comment ça se déroule! pourriez-vous m'aider s'il vous plait!
merci d'avance!!
A voir également:

2 réponses

EminoMeneko Messages postés 2434 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 23 mai 2018 318
Modifié par EminoMeneko le 28/04/2010 à 00:29
Une matrice c'est comme un tableau non ?
Plus fréquemment un tableau à 2 dimensions.

Donc simple

Admettons que tu stockes des entiers dans ta matrice ça donnerait un peu près ça :

int matrice[10][10] ; 
int i,j; 
int tmp; 

for (i=0;i<10;i++) 
{ 
 for (j=0;j<10;j++) 
 { 
  cout << "Entrez une valeur pour la coord. (" << i << "," << j << ") : "; 
  cin >> tmp; 
  matrice[i][j] = tmp; 
 } 
} 


Alors bon c'est vite fait et j'ai pas fait de C depuis un moment mais l'idée est là. Je me demande si j'ai pas besoin de transtyper tmp avant de l'affecter à ma case mais je ne sais plus.
Essayez, si ça fait des erreurs à la compil c'est qu'il y a quelque chose qui n'est pas bon comme la syntaxe, les transtypages éventuels, j'en passe et des meilleures...

PS: Je précise que mon code est en C++; En C il aurait fallut utiliser printf et scanf de concert avec fflush ou puts, gets, fget, fgets, j'en passe et des meilleures...
En tout cas cin et cout c'est du C++...
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
28 avril 2010 à 07:48
La question est de mettre dans un fichier ;-))).
0
EminoMeneko Messages postés 2434 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 23 mai 2018 318
28 avril 2010 à 16:12
Arf j'ai oublié la dernière partie mais bon d'un autre côté tu écris ce que tu veux dans un fichier et les tutos avec exemples ne manquent pas.
Comme du le dis si bien en sign " Google is your friend".
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
28 avril 2010 à 20:05
Ca je ne dis pas le contraire ;-))). Mais j'ai répondu à ta dernière partie dans le précédent post.
0
EminoMeneko Messages postés 2434 Date d'inscription jeudi 24 janvier 2008 Statut Membre Dernière intervention 23 mai 2018 318
28 avril 2010 à 21:59
Je ne dis pas que t'as dis le contraire, ne crois pas que j'ai pu mal le prendre et merci pour la partie fichier de toute façon vu le temps depuis lequel j'ai pas pratiqué je suis un peu rouillé. :)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 835
28 avril 2010 à 07:54
Bonjour,

Tu peux utiliser la fonction fwrite :
FILE *fp=fopen(fichier, "w");
int tab[10][10]={...};

fwrite(tab, 10*10,sizeof(int),fp);

Pour bien faire il faudrait tester la valeur de retour de ces fonctions.

Cdlt,
0