Salut,
Ca fait pas mal de temps que je tourne en rond avec la fonction ci-dessous. Elle sert à comparer deux séries de 'dim' chiffres placés dans 2 vecteurs Tableau[1] & Tableau[2]
J'aimerais obtenir :
Ch_bien_place : nbre de chiffres à la bonne position
Ch_mal_place : nbre de chiffres présents dans les 2 vecteurs mais à la mauvaise place
Ca tourne mais y'a des bugs, et je n'arrive pas à voir pourquoi ils apparaissent. D'autant plus que si je fais le déroulement "sur papier", ça marche...
par exemple :
3 3 5 5 1
5 3 5 1 3
--> 2 ch bien places et 2 ch mal places (3 en réalité)
3 7 9 2 2 6
6 7 9 3 2 2
--> 3 ch bien places et 2 mal places (3 en réalité)
void tester_solution(int tableau1[],int tableau2[],int dim,int *ch_bien_places,int *ch_mal_places)
{
int i,j;
*ch_bien_places=*ch_mal_places=0 ;
for(i=0;i<dim;i++)
{ if(tableau1[i]==tableau2[i])
{ *ch_bien_places=*ch_bien_places+1 ;
tableau1[i]=-1 ;
tableau2[i]=-2 ;
}
else
{ for(j=0;j<dim;j++)
{ if(tableau1[i]==tableau2[j])
{ if(tableau1[j]==tableau2[j]) break ;
*ch_mal_places=*ch_mal_places+1 ;
tableau1[i]=-3 ;
tableau2[j]=-4 ;
}
}
}
}
}
Si vous avez ne fut-ce que la moindre hypothèse...
[jfdsdjhfuetppo]--Message édité par eniac--[/jfdsdjhfuetppo]
---------------
If you really want something, all the Universe conspires in helping you to achieve it.