[C] Remplir un tableau 2 dimensions avec un fichier

Remplir un tableau 2 dimensions avec un fichier [C] - C - Programmation

Marsh Posté le 12-05-2012 à 07:44:32    

:hello:  
A l'aide d'une fonction je crée un fichier texte qui stocke des coordonnées X et Y sous forme de nombre de la façon suivante :
 
10 14 2 15 20 4 7 12 2 15 14 11 .....  
 
Comme on le voit dans l'exemple il y a parfois des paires qui reviennent ( 2 15 )
 
Maintenant je cherche à stocker ces coordonnées dans un tableau a 2 dimensions :

Code :
  1. int badpath[28][28] = {99}; // Est-il possible d'initialiser toutes les valeurs du tableau a 99 ?
  2. FILE* fichier = NULL;
  3. fichier = fopen("test.txt", "r" );
  4. int x=0, y=0;
  5.         for (x = 0 ; x < 28 ; x++)
  6.         {
  7.             for (y = 0 ; y < 28 ; y++)
  8.             {
  9.             fscanf(fichier, "%d", &badpath[x][y] );
  10.             fprintf(stderr, "%d ", badpath[x][y] );   // j'en profite pour afficher le tableau  
  11.         }
  12.        // fprintf(stderr, "\n" );
  13.     }
  14. fclose(fichier);


 
Ce qui me donne avec un échantillon du fichier texte :

15 9 14 7 12 9 13 11 12 9 12 9 15 9 16 7 16 5 19 7 19 7


En stderr (comprendre le tableau badpath[][])

15 9 14 7 12 9 13 11 12 9 12 9 15 9 16 7 16 5 19 7 19 7


 
Ce qui est logique vu mon code mais qui ne correspond absolument pas au résultat que je recherche, à savoir une grille de 28x28 remplie de 99 et si on prend l'exemple de l'échantillon 15 9, un 1 (ou n'importe quelle autre valeur différente de 99) au niveau de la 15ième ligne et de la 9ième colonne

Reply

Marsh Posté le 12-05-2012 à 07:44:32   

Reply

Marsh Posté le 12-05-2012 à 10:41:14    

Donc tu veux faire un truc de ce genre:

Citation :

int badpath[28][28] = {0}; // ça devrait tout mettre à 0
FILE* fichier = NULL;
    fichier = fopen("test.txt", "r" );
    int x=0, y=0;
    while (fscanf(fichier, "%d %d", &x, &y) != EOF) {
        badpath[x][y] = 1;
    }
 
    for (x = 0 ; x < 28 ; x++) {
         for (y = 0 ; y < 28 ; y++) {
            fprintf(stderr, "%d ", badpath[x][y] );   // j'en profite pour afficher le tableau  
        }
       fprintf(stderr, "\n" );
    }
fclose(fichier);


A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
Reply

Marsh Posté le 12-05-2012 à 11:07:54    

[:implosion du tibia] exactement ça
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed