Imbrication de boucle for [Résolu/Fermé]

Signaler
Messages postés
25
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
27 mars 2016
-
Messages postés
25
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
27 mars 2016
-
Bonjour à tous,

J'ai commencé un programme de "calcul matriciel" (enfin l'addition uniquement pour le moment) en C++ afin d'aiguiser ma manipulation des tableaux pour mes études.
Cependant, après plusieurs test et correctifs un bug persiste : une seule de mes boucles for est réalisé a chaque fois.
Voila mon code :


int const tailleMatrice = 10;

int matriceA[tailleMatrice][tailleMatrice];
int i(0), j(0), tailleX(0),tailleY(0);

cout<<"Définition de la taille de la matrice (taille max de "<<tailleMatrice<<")"<<endl<<endl;

do{
cout<<"Saisir le nombre de ligne i"<<endl;
cin>>tailleX;
}while(tailleX>tailleMatrice);

do{
cout<<"Saisir le nombre de colonne j"<<endl;
cin>>tailleY;
}while(tailleY>tailleMatrice);


cout<<"Saisir les valeurs de la matrice A:"<<endl;
for(i; i<tailleX; i++)
{
for(j; j<tailleY; j++)
{
cout<<"Saisir la valeur "<<i+1<<","<<j+1<<endl;
cin>> matriceA[i][j];
}
}


A chaque fois, la ligne pour i=0 se rempli mais je n'ai jamais accès aux suivantes.
Si quelqu'un a une solution, merci beaucoup

2 réponses

Messages postés
1207
Date d'inscription
vendredi 17 juin 2011
Statut
Membre
Dernière intervention
15 novembre 2018
163
Salut !

Alors, dans tes boucles FOR, il faut indiquer une valeur de départ pour i et j, du genre :

for(i = 0; i<tailleX; i++)

et for(j = 0; j<tailleY; j++)
Messages postés
25
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
27 mars 2016
1
Merci beaucoup, ça marche !

Mais je ne comprends pas vraiment pourquoi, comme j'ai initialisé mes variables la valeur par défaut ne devrait pas être celle initialisé soit 0 ?
Messages postés
1207
Date d'inscription
vendredi 17 juin 2011
Statut
Membre
Dernière intervention
15 novembre 2018
163
Et bien c'est le principe de la boucle for : tu indique la valeur de départ, d'arrivée, et le taux d'incrémentation.

Mais tu peux déclarer ta variable à la création de la boucle : for(int i = 0; i < blabla ; i++), ca évitera la répétition.

Ou alors tu déclare au début comme tu l'as déja fait, et tu utilise une boucle while :)
Messages postés
25
Date d'inscription
jeudi 8 octobre 2015
Statut
Membre
Dernière intervention
27 mars 2016
1
D'accord, je comprends mieux. J'avais essayer la méthode de déclaration direct, mais j'ai foiré aussi. Le while me semble moins pratique, mais j'y avais pensé en dernier recours.
Merci beaucoup pour tes réponses ! :)