5 réponses
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
28 janv. 2010 à 00:58
28 janv. 2010 à 00:58
Voilà un extrait qui explique pourquoi le programme plante:
Une bonne méthode, en fait celle de Pacorabanix: prendre un papier et un crayon et faire tourner le programme à la main.
Bonne réflexion.
int tab[1000]; while (i<500) while (j<500) tab[i*j] = 0; j++; i++;Si vraiment tu ne trouves pas... on t'aidera un peu plus.
Une bonne méthode, en fait celle de Pacorabanix: prendre un papier et un crayon et faire tourner le programme à la main.
Bonne réflexion.
Tout d'abord, merci a vous de vous penchez sur mon problème.
je répond peut être un peu vite, mais je pense que si je l'avais écrit comme dans ton extrait (tab[i*j] = 0;) je finirais vite vite par boucler sur des multiplications comprenant un 0 donc je ne pourrait plus parcourir le tableau.
désolé si je ne suis pas très clair. Je dois avoué que je commence a fatiguer, mais je ne dormirais pas avant de comprendre ce qui ne va pas.
je précise que j'ai bien fait mon organigramme avant de me lancer.
de plus je viens de penser que je boucle jusqu'à 500, si je boucle jusqu'à 32 (un peu plus de la racine carré) ca devrais suffir non?
je répond peut être un peu vite, mais je pense que si je l'avais écrit comme dans ton extrait (tab[i*j] = 0;) je finirais vite vite par boucler sur des multiplications comprenant un 0 donc je ne pourrait plus parcourir le tableau.
désolé si je ne suis pas très clair. Je dois avoué que je commence a fatiguer, mais je ne dormirais pas avant de comprendre ce qui ne va pas.
je précise que j'ai bien fait mon organigramme avant de me lancer.
de plus je viens de penser que je boucle jusqu'à 500, si je boucle jusqu'à 32 (un peu plus de la racine carré) ca devrais suffir non?
loupius
Messages postés
697
Date d'inscription
dimanche 1 novembre 2009
Statut
Membre
Dernière intervention
31 décembre 2017
148
28 janv. 2010 à 01:56
28 janv. 2010 à 01:56
Entre
Le problème n'est pas là.
je précise que j'ai bien fait mon organigramme avant de me lancer.
C'est très bien , mais le papier et le crayon dont je parlais, étaient destinés à faire 'tourner' le programme, par exemple:
Bonne continuation.
n = i*j; tab[n] = 0;et
tab[i*j] = 0;il n'y a aucune différence sauf que l'on déclare un variable supplémentaire (qui est d'ailleurs d'aucune utilité).
Le problème n'est pas là.
je précise que j'ai bien fait mon organigramme avant de me lancer.
C'est très bien , mais le papier et le crayon dont je parlais, étaient destinés à faire 'tourner' le programme, par exemple:
i = 2 j = 2 i*j = 4 tab[4] = 0 i = 2 j = 3 i*j = 6 tab[6] = 0 i = 2 j = 4 i*j = 8 tab[8] = 0 ... i = 2 j = 498 i*j = 996 tab[996] = 0 i = 2 j = 499 i*j = 998 tab[998] = 0 i = 2 j = 500 i = 3 j = 2 i = 3 j = 2 i*j = 6 tab[6] = 0 i = 3 j = 3 i*j = 9 tab[9] = 0 ... i=499 j=499 i*j = ???Je te laisse conclure.
Bonne continuation.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
hummm! bin didon. ya des moments comme ca on se sent un peu con. enfin y avait de l'idée dans cette histoire de racine carré, ca marche toujours pas mais ca plante plus (c déjà ca). Merci en tout cas. Je ne le met pas en résolut tout de suite, j' aurait peut être encore besoin de vos lumières pour le terminé.
28 janv. 2010 à 00:59