algo mastermind
Dernière réponse : dans Programmation
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);
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
Lassé par la pub ? Créez un compte
Je connais pas le pascal mais ça donne à peu pres ça:
correct:=false;
nbEssaie: = 0;
tant que ((!correct) ou (essaie<=5))
pour i:=1 à 4 faire
tb_secret[i]:=random(9);
fin pour;
afficher('Essai', nbEssaie, ':');
pour i:= 1 to 4 faire
tb_essai[i]= chiffre entre au clavier;
fin pour;
B:=0;(bon chiffre bonne endroit)
M:=0;(bon chiffre mauvais endroit)
pour i:=1 à 4 faire
si (tb_essai[i]=tb_secret[i]) alors
B=B+1;
sinon
pour j:=1 à 4 faire
si (tb_essai[i]=tb_secret[j]) alors
M:=M+1;
fin si;
fin pour;
fin si;
fin pour;
si (B=4) alors
afficher('vous avez gagné');
correct=true;
sinon
afficher('il y a ',B,' chiffre correct et placer juste et ',M,' chiffre correct placer faut');
nbEssaie = nbEssaie + 1;
fin si;
fin tant que;
Ca doit être environ ca mais j'ai jamais fait de pascal alors il y a surement 2-3 erreurs de sythaxe
BEGIN
While (!correct || nbEssaie<=5)
BEGIN
For i:= 1 To 4 Do
BEGIN
tb_secret[i]:=random(9);
END;
writeln('Essai', nbEssaie, ':');
For i:= 1 To 4 Do
BEGIN
readln(tb_essaie[i]);
END;
B:=0;
M:=0;
For i:= 1 To 4 Do
BEGIN
If (tb_essai[i] = tb_secret[i]) Then
BEGIN
B:=B+1;
END;
Else
BEGIN
For j:= 1 To 4 Do
BEGIN
If(tb_essai[i] = tb_secret[j]) Then
BEGIN
M:=M+1;
END;
END;
END;
END;
If(B=4) Then
BEGIN
writeln('vous avez gagné!!!');
correct:=true;
END;
Else
BEGIN
writeln('il y a ',B,' chiffre correct et placé juste et ',M,' chiffre correct placer faux');
nbEssaie:= nbEssaie + 1;
END;
END;
END;
Lassé par la pub ? Créez un compte
- Contenus similaires :
- ForumProgramme mastermind -projet d'algo- help
- ForumAlgorithme mastermind
- ForumLangage c jeu mastermind
- ForumMastermind ifsi gratuit
- ForumMastermind programmation
- solutionsAlgorithme mastermind c
- ForumCours algo
- ForumProgrammation mastermind
- ForumMastermind pascal
- ForumMastermind algorithme
- Voir plus
c'est trop dure à suivre quand c'est écrie comme ça. je préfert lire un code java ou c...