Pouvez-vous me vérifier ce programme ??
Fermé
walidmz
Messages postés
7
Date d'inscription
lundi 4 mai 2015
Statut
Membre
Dernière intervention
3 mars 2017
-
Modifié par mamiemando le 5/05/2015 à 10:15
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 - 7 mai 2015 à 10:16
mamiemando Messages postés 32283 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 17 mars 2023 - 7 mai 2015 à 10:16
A voir également:
- Pouvez-vous me vérifier ce programme ??
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Google n'a pas pu vérifier que ce compte vous appartient - Forum Gmail
- Verifier un lien - Guide
- Frequence programme national ✓ - Forum Messagerie
- Ce message d'erreur apparaît sur l'ordinateur d'elena. que peut-on dire du programme gwxux ? - Forum logiciel systeme
2 réponses
mamiemando
Messages postés
32283
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
17 mars 2023
7 572
5 mai 2015 à 10:23
5 mai 2015 à 10:23
Bonjour,
Cher Walid je pense que la moindre des choses serait :
1) de commencer ton message par bonjour
2) de copier coller un code indenté la prochaine fois
3) de finir ton message par un "merci d'avance"
Ensuite non ton programme est faux :
Ton scanf est faux, si tu prends le temps de lire la documentation, tu verras que c'est l'adresse de ton entier qu'il faut passer en paramètre (donc &m[i][j]). C'est une erreur que tu aurais pu voir si tu avais pris le temps de compiler :
On voit d'ailleurs que ton main ne retourne pas l'entier qu'il est sensé retourner (0 si tout va bien, une autre valeur sinon).
Ensuite en terme de conception beaucoup de choses ne vont pas :
- il est inutile de tout mémoriser (donc inutile d'avoir une matrice), seul l'essai courant est pertinent (donc un vecteur est suffisant)
- idéalement on devrait pouvoir paramétrer au lancement du programme les différentes constantes (nombre d'essai, nombre de chiffres à deviner, etc...) mais ceci nécessite de savoir faire une allocation dynamique avec malloc et free (oublie cette remarque si tu ne les as pas vu en cours).
- ensuite on voit tout de suite que le programme ne répond pas au problème car la seule chose qu'il est capable de retourner ce sont des "A" (si c'est correct), or vu que ton exercice semble très proche d'un mastermind, il devrait renvoyer pour chaque boule si elle est bonne, mal placée ou fausse. La seule chose qu'on peut s'attendre à voir c'est par exemple "AAA" si 3 des 7 chiffres sont bons sans savoir lesquels seront corrects. Ça ne répond donc pas à l'exercice.
Bonne chance
Cher Walid je pense que la moindre des choses serait :
1) de commencer ton message par bonjour
2) de copier coller un code indenté la prochaine fois
3) de finir ton message par un "merci d'avance"
Ensuite non ton programme est faux :
(mando@velvet) (~) $ ./a.out
entrez sept numéro s.v.p
1234
Erreur de segmentation
Ton scanf est faux, si tu prends le temps de lire la documentation, tu verras que c'est l'adresse de ton entier qu'il faut passer en paramètre (donc &m[i][j]). C'est une erreur que tu aurais pu voir si tu avais pris le temps de compiler :
(mando@velvet) (~) $ gcc -W -Wall plop.c
plop.c: In function `main':
plop.c:17:13: warning: format `%d' expects argument of type `int *', but argument 2 has type `int' [-Wformat=]
scanf("%d", m[i][j]);
^
plop.c:28:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
On voit d'ailleurs que ton main ne retourne pas l'entier qu'il est sensé retourner (0 si tout va bien, une autre valeur sinon).
Ensuite en terme de conception beaucoup de choses ne vont pas :
- il est inutile de tout mémoriser (donc inutile d'avoir une matrice), seul l'essai courant est pertinent (donc un vecteur est suffisant)
- idéalement on devrait pouvoir paramétrer au lancement du programme les différentes constantes (nombre d'essai, nombre de chiffres à deviner, etc...) mais ceci nécessite de savoir faire une allocation dynamique avec malloc et free (oublie cette remarque si tu ne les as pas vu en cours).
- ensuite on voit tout de suite que le programme ne répond pas au problème car la seule chose qu'il est capable de retourner ce sont des "A" (si c'est correct), or vu que ton exercice semble très proche d'un mastermind, il devrait renvoyer pour chaque boule si elle est bonne, mal placée ou fausse. La seule chose qu'on peut s'attendre à voir c'est par exemple "AAA" si 3 des 7 chiffres sont bons sans savoir lesquels seront corrects. Ça ne répond donc pas à l'exercice.
Bonne chance
mamiemando
Messages postés
32283
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
17 mars 2023
7 572
7 mai 2015 à 10:16
7 mai 2015 à 10:16
A chaque fois je compile, je reçoit ce message "code blocks a cessé de fonctionner" c'est pourquoi j'ai demandé une vérification
Cette erreur n'est pas normale (et sans doute due à une mauvaise installation de code::blocks), normalement le compilateur est sensé te renvoyer des messages d'erreur, mais code::blocks n'est pas sensé planter à cause de ça.
Si ton problème persiste réinstalle code::blocks ou un autre IDE. Ou tu peux aussi utiliser unetbootin pour avoir un linux (par exemple ubuntu ou kubuntu) sur clé usb, et travailler sur cette clé usb.
http://doc.ubuntu-fr.org/unetbootin
Il faudra juste veiller à installer un IDE via la logithèque ubuntu, par exemple anjuta ou kdevelop.
http://doc.ubuntu-fr.org/anjuta
http://doc.ubuntu-fr.org/kdevelop
Bonne chance
Cette erreur n'est pas normale (et sans doute due à une mauvaise installation de code::blocks), normalement le compilateur est sensé te renvoyer des messages d'erreur, mais code::blocks n'est pas sensé planter à cause de ça.
Si ton problème persiste réinstalle code::blocks ou un autre IDE. Ou tu peux aussi utiliser unetbootin pour avoir un linux (par exemple ubuntu ou kubuntu) sur clé usb, et travailler sur cette clé usb.
http://doc.ubuntu-fr.org/unetbootin
Il faudra juste veiller à installer un IDE via la logithèque ubuntu, par exemple anjuta ou kdevelop.
http://doc.ubuntu-fr.org/anjuta
http://doc.ubuntu-fr.org/kdevelop
Bonne chance

6 mai 2015 à 19:49
6 mai 2015 à 20:04
c'est pourquoi j'ai demandé une vérification