Imbrication de boucle for

Résolu
Axaron Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -  
Axaron Messages postés 25 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

mtR^ Messages postés 1215 Date d'inscription   Statut Membre Dernière intervention   169
 
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   Statut Membre Dernière intervention   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 ?
0
mtR^ Messages postés 1215 Date d'inscription   Statut Membre Dernière intervention   169
 
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   Statut Membre Dernière intervention   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 ! :)
0