j'ai codé une partie de mon projet mastermind , et plus exactement le deroulement du jeu principal !! au départ je croyais qu'il marche mais après plusieurs tentatives , j'ai remarqué qu'il y a une faille !! en tout cas je remarque que c'est sur la partie où on recherche les élements mal placés !! surtout sur l'instruction break !! l'idée est simple je marque à l'aide d'un tableau les cases déjà occupées , afin d'éviter qu'il ne recompte pas !!
j'ai vraiment besoin de vos aides !!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
 
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
	int i ,j;
	int bonplace;
	int malplace;
	char tab[6] = {'A','A','B','F','G','\0'};
	char Entree [6];
	int stock [5];
	int stock1[5];
 
	for(i=0;i<5;i++)
	{
		printf("%c",tab[i]);
	}
	printf("\n***************Bonjour********************\n");
 
	printf("entrer votre mot\n");
	scanf("%s",Entree);
 
	printf("*****votre mot*** %s",Entree);
 
	printf("\n***********COMPARAISON ****\n");
	printf("%s",tab);
	printf("\n");
	printf("%s",Entree);
	printf("\n");
 
	/*
	 * AABFG
	 * ABBGC
	 * 
	*/
	bonplace = 0;
	malplace = 0;
	for(i=0;i<5;i++){
		stock[i]=0;
	}
 
		for(i=0;i<5;i++)
		{
			if(tab[i]==Entree[i]){
				bonplace++;
				stock[i] = 1;
 
 
			}
 
		}
/* ---> */		for(i=0;i<5;i++)
		{
 
			if((tab[i]!=Entree[i])&&(stock[i]==0))
			{
 
				for(j=0;j<5;j++)
				{
					if((tab[i]==Entree[j])&&(stock[j]==0)&&(stock1[j]!=1))
					{
 
						malplace++;
						stock1[j] = 1;
						//i++;
						break;
					}
 
 
				}
 
 
			}
 
 
		}
 
		printf("bon place %d\n",bonplace);
		printf("mal place %d\n",malplace);
	return 0;
}
merci d'avance !! vos suggestions seront les bienvenues