Remplir un tableau a 2 dimensions

Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008
- - Dernière réponse : Jomba
Messages postés
58
Date d'inscription
mercredi 2 novembre 2005
Statut
Membre
Dernière intervention
22 juillet 2010
- 26 juin 2006 à 15:27
Salut a tous, je suis debutant en C

Je voudrai remplir un tableau a deux dimensions de la façon suivant


12345

22345

33345

44445

55555


...etc

Voila la reponsse doit etre simple ? mais je suis debutant donc merci d'avance!

a+
Afficher la suite 

11 réponses

Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
1
0
Merci
int Tab[5][5];
for ( int i = 0 ; i < 5 ; i++ )
{
    for ( int j = 0 ; j < 5; j++ )
    {
       if ( j <= i )
          Tab[i][j] = i;
       else
          Tab[i][j] = j;
    }
}

J'ai pas testé mais je pense que ca dervais marcher

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !
Commenter la réponse de gbourgeois0019
Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
1
0
Merci
int Tab[5][5];
for ( int i = 1 ; i <= 5 ; i++ )
{
    for ( int j = 1 ; j <= 5; j++ )
    {
       if ( j <= i )
          Tab[i][j] = i;
       else
          Tab[i][j] = j;
    }
}

Petite erreur dans mes boucles

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !
Commenter la réponse de gbourgeois0019
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008
0
Merci
Ok merci beaucoup sa marche {maintenant je vais essayer de comprendre le principe lol}

a+
Commenter la réponse de cs_darkwhite
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
0
Merci
Non ton premier message est mieux (on commence à zéro) et on arrête à 4
Quand a savoir si ca donne le bon résultat je sais pas, ca me donne mal à la tête

_____________________________________
Commenter la réponse de vecchio56
Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
1
0
Merci
J'ai commencé a 1 pour finir a 5 puis qu'il voulait 12345 et non 01234 ... j'aurait pu de 0 a 4 en mettant i-1 et j-1 ce qui aurait donné le même résultat

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !
Commenter la réponse de gbourgeois0019
Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
1
0
Merci
Pour ce qui est du principe t'a qu'a t'imaginer étant un débugger et suivre pas a pas tu va comprendre c,est pas sorcier

________________________________________________________________________
Hardware is what we play with until it breaks, Software is what we play with until it works !
Commenter la réponse de gbourgeois0019
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
0
Merci
Oui mais la tu touches a Tab[5][5], c'est mal. Donc t'a pas le choix faut mettre un -1 dans les indices de tableau

_____________________________________
Commenter la réponse de vecchio56
Messages postés
6539
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
0
Merci
Le truc c'est qu'a cette heure la j'ai pas envie, j'aurais plutot tendance a compiler pour voir si ca marche, plutot que réfléchir

_____________________________________
Commenter la réponse de vecchio56
Messages postés
133
Date d'inscription
vendredi 17 novembre 2000
Statut
Membre
Dernière intervention
29 avril 2008
0
Merci
[auteurdetail.aspx?ID=737433 gbourgeois0019] ! le probleme c'est que a partir de 12 sa foire !!
Commenter la réponse de cs_darkwhite
Messages postés
152
Date d'inscription
lundi 3 avril 2006
Statut
Membre
Dernière intervention
2 juin 2008
1
0
Merci
Mon post a pas marcher :P

Bon je disais donc : Tu a bien raison je touche a l'indice 5 et c'est pas bien :P

Ca devrais donc etre :

int Tab[5][5];
for ( int i = 0 ; i < 5 ; i++ )
{
for ( int j = 0 ; j < 5; j++ )
{
if ( j <= i )
Tab[i][j] = i+1;
else
Tab[i][j] = j+1;
}
}

OU ENCORE

int Tab[5][5];
for ( int i = 1 ; i <= 5 ; i++ )
{
for ( int j = 1 ; j <= 5; j++ )
{
if ( j <= i )
Tab[i-1][j-1] = i;
else
Tab[i-1][j-1] = j;
}
}

Et la pour ce qui est de choisir entre les deux c'est une question de gout :P
Commenter la réponse de gbourgeois0019
Messages postés
58
Date d'inscription
mercredi 2 novembre 2005
Statut
Membre
Dernière intervention
22 juillet 2010
0
Merci
salut, c'est normal que tu ne puisse pas aller à plus de 12, tu utilise des entiers, essaie avec des long à la place,  tu sera moins limité.
Commenter la réponse de Jomba