écrire une matrice dans un fichier en C

Résolu
wind of happiness Messages postés 12 Date d'inscription   Statut Membre Dernière intervention   -  
EminoMeneko Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   -
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 2435 Date d'inscription   Statut Membre Dernière intervention   318
 
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   Statut Contributeur Dernière intervention   1 846
 
La question est de mettre dans un fichier ;-))).
0
EminoMeneko Messages postés 2435 Date d'inscription   Statut Membre Dernière intervention   318
 
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   Statut Contributeur Dernière intervention   1 846
 
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 2435 Date d'inscription   Statut Membre Dernière intervention   318
 
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   Statut Contributeur Dernière intervention   1 846
 
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