Langage c (tableau à deux dimensions)

Fermé
ikerza Messages postés 8 Date d'inscription jeudi 15 mars 2012 Statut Membre Dernière intervention 16 juin 2012 - 6 mai 2012 à 01:47
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 7 mai 2012 à 18:49
Bonsoir,
svp quelqu'un peut m'aider à ce exercice



Ecrire un programme C qui :Permet de remplir un tableau 5 x 4 par les nombres 0,1,2,3,4.........,19, et d'afficher à l'écran ( déclaration + initialisation)dés la départ
A voir également:

6 réponses

je ne sais pas trop ce qui est entendu par "tableau" mais je pense que ce serait "tableau d'entiers", autrement dit une liste.

Ensuite si c'est à 2 dimension tu peux peut-être faire comme ceci:

#include<stdio.h> 
#include<stdlib.h> 

main(){ 
   int tableau[5][4]; 
   int i, j, a=1; 
   for(i=0; i<5; i++){ 
      for(j=0; j<4; j++){ 
         tableau[i][j]=a; 
         a=a+1; 
         printf(" %d ", tableau[i][j]); 
      } 
      printf("\n"); 
   } 
   return 0. 
} 


Je débute aussi mais je pense que ça pourrait marcher, seulement je n'arrive pas à compiler =S
Je tape gcc test.c -o test
pas de réponse

comprend pas =S
J'espère que ça marchera chez toi, tiens moi au courant! =)
0
Utilisateur anonyme
6 mai 2012 à 10:37
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
6 mai 2012 à 10:45
Bonjour,
Ca ne risque pas de marcher ton programme orinym, tu as un point après return 0 au lieu d'un point virgule ;-))).
Ensuite, ce n'est pas main() mais int main(void) le prototype de main() sans argument.
Après, tu aurais pu économiser la variable a, en utilisant à la place i*5+j. C'est pas obligatoire, une variable c'est rien du tout, mais c'est un classique donc je préfère le dire :-))).
0
Utilisateur anonyme
6 mai 2012 à 21:36
j'aurais essayé. Pour le point après le return je peux au moins invoquer la faute de frappe :P
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
#include<stdio.h>
#include<stdlib.h>

int main(){  
   int tableau[5][4];  
   int i, j, a=0;  
   for(i=0; i<5; i++){  
      for(j=0; j<4; j++){  
         tableau[i][j]=a;  
         a=a+1;  
         printf(" %d ", tableau[i][j]);  
      }  
      printf("\n");  
   }  
   return 0;  
}  


Voilà après correction, =)
Ça fonctionne parfaitement chez moi, à ceci près que c'était de 1 à 20 et non de 0 à 19
J'initialise donc a à 0 ou on peut aussi afficher à la place de "a" "i*5+j-1" pour reprendre l'idée de fiddy.

Et j'arrive à compiler et exécuter sans problèmes comme ça =)
0
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 1 842
7 mai 2012 à 18:49
Sinon, pour information on peut également économiser une boucle for en faisant varier i de 0 à 19 (sizeof tableau / sizeof **tableau pour plus de portabilité). Et du coup, on met directement i dans le tableau :-).
0