je suis débutant en C++, et je cherche à créer un tableau de Young (http://fr.wikipedia.org/wiki/Tableau_de_Young). La première étape est de créer "la forme" du tableau. Pour cela, je crée une matrice et à chaque ligne, je demande à l'utilisateur de rentrer le nombre de cases. Je rempli les cases "pleines" avec des 1, et s'il n'y a pas de case, je mets 0.
Je n'arrive pas à trouver l'erreur dans mon code. Si j'essaye un tableau 4x4 avec la répartition de cases suivante : ligne 1 :4 cases, l2 : 3 cases, l3 : 2, l4 :1, ça semble fonctionner. En revanche, si j'essaye avec un tableau 5x5 ou 6x6, ça ne marche plus.
Voici mon code :
// Inclusion of the library
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
int main()
{
// Creation des tableaux de Young
int colonne=1,ligne=1,tableau[ligne][colonne],l=0,c=0,N=0,boite=0;
cout<<"Combien de lignes ?"<<endl;
cin>>ligne;
cout<<"Combien de colonnes ?"<<endl;
cin>>colonne;
for(l=0;l<ligne;l++)
{
cout<<"Combien de cases dans la ligne "<<l+1<<endl;
cin>>boite;
for(c=0;c<colonne;c++)
{
if(c<boite)
tableau[l][c]=1;
else
tableau[l][c]=0;
}
}
//Affiche les tableaux a l'ecrant
for(l=0;l<ligne;l++)
{
for(c=0;c<colonne;c++)
{
if(tableau[l][c]!=0)
cout<<tableau[l][c]<<" / ";
}
cout<<endl;
}
return 0;
}
Je viens de trouver, "tableau[ligne][colonne]" n'est pas défini au bon endroit (même si j'ai défini ligne et colonne sur la même ligne...) ; il faut le définir après que l'utilisateur ait affecté de nouvelles valeurs à mes variables "ligne" et "colonne".
Désolé du dérangement.