Imbrication de boucle for

Résolu/Fermé
Axaron Messages postés 25 Date d'inscription jeudi 8 octobre 2015 Statut Membre Dernière intervention 27 mars 2016 - Modifié par Axaron le 8/10/2015 à 18:26
Axaron Messages postés 25 Date d'inscription jeudi 8 octobre 2015 Statut Membre Dernière intervention 27 mars 2016 - 8 oct. 2015 à 19:20
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

mtR^ Messages postés 1207 Date d'inscription vendredi 17 juin 2011 Statut Membre Dernière intervention 15 novembre 2018 169
8 oct. 2015 à 18:55
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++)
0
Axaron Messages postés 25 Date d'inscription jeudi 8 octobre 2015 Statut Membre Dernière intervention 27 mars 2016 1
8 oct. 2015 à 19:04
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 ?
0
mtR^ Messages postés 1207 Date d'inscription vendredi 17 juin 2011 Statut Membre Dernière intervention 15 novembre 2018 169
8 oct. 2015 à 19:08
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 :)
0
Axaron Messages postés 25 Date d'inscription jeudi 8 octobre 2015 Statut Membre Dernière intervention 27 mars 2016 1
8 oct. 2015 à 19:20
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 ! :)
0