Se connecter / S'enregistrer
Votre question

algo mastermind

Tags :
  • Programmation
Dernière réponse : dans Programmation
27 Avril 2006 09:13:29

bonjour voici un "algo" sur la première partie de mon mastermind, dites moi ce que vous en pensez.

tant que ((rep:='O') et (e<=5))
pour i:=1 à 4 faire
tb_secret:=random(9);
fin pour;

pour i1:= 1 to 4 faire
tb_essai[i1]:=0;
fin pour;

pour i1:= 1 to 4 faire
écrire ('Essai ',e,' :');
demander (tb_essai[i1]);
fin pour;

si (tb_essai[i1]=tb_secret) alors
B:=B+1;
fin si;
si (tb_essai[i1]=tb_secret[j]) alors
M:=M+1;
fin si;

gain:=(10*B)+M;
écrire(gain);

pour i1:=1 to 4 faire si (B<M) alors
sc:=0;
fin si;
si (B=M) alors
sc:=2;
fin si;
si (B>M) alors;
sc:=5;
fin si;
fin pour;
écrire(sc);

Autres pages sur : algo mastermind

27 Avril 2006 09:19:02

:)  c'est trop dure à suivre quand c'est écrie comme ça. je préfert lire un code java ou c...
27 Avril 2006 09:35:25

Il doit manquer une boule "pour" ici sinon je vois pas d'ou vienne les variables "i" 1 et "i"
Citation :

si (tb_essai[i1]=tb_secret) alors
B:=B+1;
fin si;
si (tb_essai[i1]=tb_secret[j]) alors
M:=M+1;
fin si;


Mais je suis pas sur que ca marche cet Algoritme
Contenus similaires
Pas de réponse à votre question ? Demandez !
27 Avril 2006 09:46:19

les variables i1 et i sont les indices des deux tableaux. bon ben s'il ne marche pas cet algo que ce qu'il faut que je change pour avoir un résultat qui marche?
27 Avril 2006 10:48:05

Tu va le code dans quelle language après parce que j'arrive pas à me retrouver quand c'est écris en français
27 Avril 2006 11:11:56

Je connais pas le pascal mais ça donne à peu pres ça:

  1. correct:=false;
  2. nbEssaie: = 0;
  3. tant que ((!correct) ou (essaie<=5))
  4.  
  5. pour i:=1 à 4 faire
  6. tb_secret[i]:=random(9);
  7. fin pour;
  8.  
  9. afficher('Essai', nbEssaie, ':');
  10. pour i:= 1 to 4 faire
  11. tb_essai[i]= chiffre entre au clavier;
  12. fin pour;
  13.  
  14. B:=0;(bon chiffre bonne endroit)
  15. M:=0;(bon chiffre mauvais endroit)
  16.  
  17. pour i:=1 à 4 faire
  18. si (tb_essai[i]=tb_secret[i]) alors
  19. B=B+1;
  20. sinon
  21. pour j:=1 à 4 faire
  22. si (tb_essai[i]=tb_secret[j]) alors
  23. M:=M+1;
  24. fin si;
  25. fin pour;
  26. fin si;
  27. fin pour;
  28.  
  29. si (B=4) alors
  30. afficher('vous avez gagné');
  31. correct=true;
  32. sinon
  33. afficher('il y a ',B,' chiffre correct et placer juste et ',M,' chiffre correct placer faut');
  34. nbEssaie = nbEssaie + 1;
  35. fin si;
  36. fin tant que;
27 Avril 2006 11:53:18

donc il faut que je déclare un nouveaux tableau tb_secret[j] c'est ça??? en effet je ne comprend pas trop ce que vient faire ce tableau dans l'algo?
27 Avril 2006 11:59:10

tb_secret[j] c'est pour un nouveau tableau.
le tableau c'est "tb_secret" et le "j" il vient du " pour j:=1 à 4 faire"

en fait il y a des boucle "pour" l'une dans l'autre.

Mais je vais regarder ce que ca donne en pascal parce que j'aime vraiment pas écrir avec ces "pour", "si", "tant que", ...
27 Avril 2006 14:07:25

Ca doit être environ ca mais j'ai jamais fait de pascal alors il y a surement 2-3 erreurs de sythaxe
  1. BEGIN
  2. While (!correct || nbEssaie<=5)
  3. BEGIN
  4. For i:= 1 To 4 Do
  5. BEGIN
  6. tb_secret[i]:=random(9);
  7. END;
  8.  
  9. writeln('Essai', nbEssaie, ':');
  10.  
  11. For i:= 1 To 4 Do
  12. BEGIN
  13. readln(tb_essaie[i]);
  14. END;
  15. B:=0;
  16. M:=0;
  17. For i:= 1 To 4 Do
  18. BEGIN
  19. If (tb_essai[i] = tb_secret[i]) Then
  20. BEGIN
  21. B:=B+1;
  22. END;
  23. Else
  24. BEGIN
  25. For j:= 1 To 4 Do
  26. BEGIN
  27. If(tb_essai[i] = tb_secret[j]) Then
  28. BEGIN
  29. M:=M+1;
  30. END;
  31. END;
  32. END;
  33. END;
  34. If(B=4) Then
  35. BEGIN
  36. writeln('vous avez gagné!!!');
  37. correct:=true;
  38. END;
  39. Else
  40. BEGIN
  41. writeln('il y a ',B,' chiffre correct et placé juste et ',M,' chiffre correct placer faux');
  42. nbEssaie:= nbEssaie + 1;
  43. END;
  44. END;
  45. END;
27 Avril 2006 14:36:25

merci beaucoup!! car sa fait presque deux semaine que j'essai d'écrire ce programme grace à toi en un jour tu beaucoup plus aidé que dans certain forum dont je suis devenue menbre spécialement pour résoudre ce problème. MERCI :-D
27 Avril 2006 15:40:06

De rien :)  ca m'a fait plaisir ...
1 Mai 2006 21:28:11

hello, j'ai traduis et esaayé le programme que tu m'as proposé. Bon lors de l'éxécution le programme n'affiche pas les variables B et M et il ne reconnait pas les chiffres bien et mal placé.
11 Mai 2006 11:45:02

Il dois avec un problem dans la syntax du programme je connais pas le pascal
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS