Tableau en c

Fermé
joey - 26 nov. 2007 à 18:23
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 - 26 nov. 2007 à 20:06
Bonjour,
je dois initialiser un tableau à double dimensions 5*5, avec les nombres de 1 à 25
je suis bloqué pour l'éxécution de la boucle
merci pour l'aide

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

void main (void)

{

tab[5][5],i,j;

4 réponses

mype Messages postés 2435 Date d'inscription jeudi 1 novembre 2007 Statut Membre Dernière intervention 16 août 2010 436
26 nov. 2007 à 18:47
pour l'execution de la boucle il faut faire deux for pour parcourir toutes les cases et les remplir avec un nombre ça donne ça

int nb=1;
for(i=0;i<5;i++)
for(j=0;j<5;j++){
tab[i][j]=nb;
nb++;}
0
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
26 nov. 2007 à 18:51
Salut,

Je crois que t'as pas dû poster tout le code ... ou en tout cas pas la partie intéressante.

La première chose, c'est que tu n'as pas mis de type pour le tableau :
int tab[5][5];

Ensuite, pour remplire n'importe quel tableau à deux dimensions, il te faut deux boucles imbriquées qiu ressemblent à ça :
int i,j,v=1;
// v est une variable qui s'incrémente à chaque changement de case. Elle sera stockée dans tab[i][j]
for( i=0; i<5; i++ )
{
   for( j=0; j<5; j++ )
   {
      tab[i][j] = v;
      v++;
   }
}


En esspérant avoir répondu à ta question.

@bientôt
0
merci pour les solutions mais dernière question comment fait-on pour les afficher de cette manière

1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25

voici le code mais il les affiche ds une meme ligne


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

void main (void)

{

int tab[5][5];






int i,j,v=1;

for( i=0; i<5; i++ )
{
for( j=0; j<5; j++ )
{
tab[i][j] = v;
v++;
printf("%d",tab[i][j]);
}

}




}
0
vlmath Messages postés 793 Date d'inscription vendredi 20 octobre 2006 Statut Contributeur Dernière intervention 4 septembre 2011 160
26 nov. 2007 à 20:06
Il te maque qu'une seule ligne :

for( i=0; i<5; i++ ) 
{ 
   for( j=0; j<5; j++ ) 
   { 
      tab[i][j] = v; 
      v++; 
      printf("%d",tab[i][j]); 
    } 
   printf("\n");
}


@bientôt
0