Mon premier programme c++... deja une erreur bisarre - C++ - Programmation
Marsh Posté le 28-08-2006 à 17:43:12
Il y a peut etre un soucis dans la mémoire car lorsque je met une pause entre chaque boucle pour verifier ce qui se passe, j obtiens pas le meme resultat
Marsh Posté le 28-08-2006 à 17:59:29
Code :
|
free n'est-il pas un mot réservé ?
Marsh Posté le 28-08-2006 à 18:29:15
free non... j ai trouvé mon soucis: il arrivait que sur un retour arriere, un nombre passe au dessus de 9 et donc sortait du tableau temp1 ou temp2..
je crois que c est ce qu on apelle un dépassement de pile.
Marsh Posté le 28-08-2006 à 23:25:25
Pour éviter ce genre de désagréments, je te conseille d'utiliser un std::vector<std::vector<int> >
Marsh Posté le 28-08-2006 à 23:26:52
haazheel a écrit : Pour éviter ce genre de désagréments, je te conseille d'utiliser un std::vector<std::vector<int> > |
déjà des constantes, et des commentaires...
Marsh Posté le 28-08-2006 à 23:27:55
jagstang a écrit :
|
"free" non, mais "delete"oui, en c++.
Marsh Posté le 28-08-2006 à 23:29:17
_darkalt3_ a écrit : "free" non, mais "delete"oui, en c++. |
je m'en étais rendu compte nerci
Marsh Posté le 29-08-2006 à 00:34:07
smam a écrit : Il y a peut etre un soucis dans la mémoire car lorsque je met une pause entre chaque boucle pour verifier ce qui se passe, j obtiens pas le meme resultat |
Faut dire que tu fais du "sans filet", là. Du C++ de débutant pour sûr.
Au minimum, vire tous les chiffres et travaille avec des constantes.
Juste un truc, ça ne sert à rien de passer la taille des tableaux dans les définitions de fonctions, comme #
int verifier(int mat[9][9]), ce que tu passes, ce sont des pointeurs, donc le compilo ne connait pas la taille des tableaux. Au mieux la 2e taille.
Marsh Posté le 30-08-2006 à 23:26:56
Non, au contraire, il faut passer les 2 dimensions.
Enfin, ton truc, ça marche uniquement avec les tableaux statiques, mais c'est tout (et encore, j'en suis pas sûr).
En fait, je crains que ton programme ne soit entièrement faux...
Code :
|
et lis bien cette page, qui t'explique (entre autres) étape par étape comment coder avec des tableaux 2D.
http://www.parashift.com/c++-faq-l [...] -mgmt.html
Marsh Posté le 10-09-2006 à 14:05:44
Au pire tu peux ajouter des assertions au code pour détecter des sorties d'indice.
Mais bon, ça fait longtemps que j'essaie d'éviter les tableaux. Trop risqué sans un système de contrôle.
Marsh Posté le 28-08-2006 à 17:18:28
Bonjour j ai souvent programmé en php et en maple (pour ceux qui connaissent)...
Je tente la de créer un programme qui permettra de resoudre un sudoku.
le code de celui ci est le suivant:
Lorsque je le lance j obtient une erreur/L'Assistant Débogage managé 'FatalExecutionEngineError' a détecté un problème dans 'f:\Mes documents\Visual Studio 2005\Projects\sudoku\debug\sudoku.exe'.
Informations supplémentaires : Le runtime a rencontré une erreur irrécupérable. L'adresse de l'erreur était 0x79e75f3e sur le thread 0xc34. Le code d'erreur est 0xc0000005.
Je ne sais pas d ou peut provenir cette erreur. dans la fenetre du programme on obtient
123456789
456129000
000000000
000000000
000000000
000000000
000000000
000000000
000000000
Si vous arrivez a demeller tout ca, merci de votre aide