Langage c (tableau à deux dimensions)

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

6 réponses

  1. 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! =)
    1. Contributeur
      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 :-))).
      1. j'aurais essayé. Pour le point après le return je peux au moins invoquer la faute de frappe :P
        1. #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 =)
          1. Contributeur
            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 :-).