Frederick_Etudiant
Messages postés17Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention14 janvier 2009
-
1 mai 2008 à 14:29
Frederick_Etudiant
Messages postés17Date d'inscriptionmercredi 3 janvier 2007StatutMembreDernière intervention14 janvier 2009
-
2 mai 2008 à 13:34
Bonjour,
J'ai passé la nuit à résoudre ce problème.
J'ai crée un winform avec 2 RichTextBox dont je me sers pour les
tests (au lieu de m'embêter à passer par un terminal) et un bouton pour
tout lancer.
//Tout un long code qui remplit le premier tableau
//On a le fichier sous forme de tableau
//Ouvrir un fichier en écriture
StreamWriter^ pwriter = gcnew StreamWriter("C:/Fac/Nouveau.txt");
//int id = 1
int id = 1;
int tableauAEnregistrer[76];
//Pour j allant de 1 à 104 (parcours d'une colonne)
for(int j=1;j<=104;j++)
{
//Tout un code qui remplit tableauAEnregistrer sauf les 2 premières cases. Si je vérifie, en commentant la suite, c'est bon, j'ai tout comme il faut
//Pour i allant de 1 à 22
for(int i=1;i<=22;i++)
{
//Pour(int toto=0;toto<tableauOriginal[i-1][j-1];toto++)
for(int toto=0;toto<tableauOriginal[i-1][j-1];toto++)
{
//tableauAEnregistrer[0]=id
tableauAEnregistrer[0]=id;
//id++
id++;
//tableauAEnregistrer[1]=i
tableauAEnregistrer[1]=i;
//Ecrire le contenu de tableauAEnregistrer dans un fichier autant de voir que la valeur de tableauOriginal[i-1][j-1] avec juste la première case qui est incrémentée, et sauter une ligne dans le fichier à chaque fois
//Cette partie est bien complexe alors je la commente en attendant de trouver l'erreur actuelle
/*String ^ligneainserer;
ligneainserer->Empty;
for(int parcourstab=0;parcourstab<75;parcourstab++) //On lit tout les élèments sauf le dernier
ligneainserer = ligneainserer + tableauAEnregistrer[parcourstab].ToString() + "\t";
Alors, quand tableauOriginal[i-1][j-1] est égale à 0, c'est ok, ça
passe à la suite. Ensuite j'arrive à ma première valeur
(tableauOriginal[7][11] = 1680), je le lance en mode débogage pas à
pas, si je vérifie dans le tableau j'ai la bonne valeur à cet
emplacement mais quand il entre dans la boucle il me met
tableauOriginal[i-1][j-1] = 0. Alors 1) Pourquoi ne met-il pas la bonne
valeur? 2) Pourquoi y rentre-t-il s'il le croit égal à 0? Bon je
regarde pas à pas, ça met les lignes, je fais un saut pour passer à
l'itération de la boucle suivante et là le PC plante et j'ai un mal de
chien à éviter de devoir redémarrer à la barbare. Donc, il boucle
indéfiniment, pourtant je ne dépasse pas INT_MAX (1680, ce n'est pas si
gros).
Voilà j'espère avoir été clair, je remercie par avance ceux qui
auront le courage de tout lire et encore plus ceux qui pourront
m'aider.