Mastermind langage C grand problème
Salut tout le monde !
En fait, je suis arrivé à tirer aléatoirement quatre nombres entre {0,.......9} et je suis arrivé à faire une boucle qui me permet de saisir quatre nombres au clavier, mais le problème de mon blocage, c'est concernant la comparaison entre les quatre nombres tirés aléatoirement et les 4 nombres saisis par le joueur !
Sachant que le professeur a exigé de faire le programme sans utilisation des tableaux. Sinon, je crois que j'aurais la chance de me sortir de ça. Aidez moi, merci d'avance !
Code:
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
|
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int random (int N)
{
int value;
value = rand () % (N) ;
return value;
}
int main (void) {
int n=9,i=1,j,c;
srand(time(NULL));
do
{
printf(" %4d \t ",random(n));
for(j=0;j<i;j++)
{
scanf(" %4d ",&c);
} i++;
}while(i==5 && j==4);
system("pause");
} |
… ne marche pas. Pourquoi ?
J'aimerais que quand « i == 5 », on arrête. Comme ça, on aura 1 nombre tiré aléatoirement et 1 nombre saisi.
Genre :
Nombre tiré aléatoirement : 1 nombre saisi : 5 i=1 && j=0
Nombre tiré aléatoirement : 0 nombre saisi : 9 i=2 && j=1
Nombre tiré aléatoirement : 4 nombre saisi : 2 i=3 && j=2
Nombre tiré aléatoirement : 8 nombre saisi : 1 i=4 && j=3
Quand i=5 && j=4, la boucle do while va tout arrêter (j'ai mis i=5 && j=4 parce que ils vont augmenter de 1)
Ce qui donne une répétition de 4 fois pour un tirage aléatoire d'un nombre i et la saisie au clavier d'un nombre j .
Alors après, ça serait facile de les comparer mais là, il y a un problème sur mon programme : il ne fait pas ce que j'analyse, ni ce que j'ai envie de faire !
Voila une autre analyse que j'ai faite mais qui ne marche pas non plus.
Code:
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
|
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int random (int N)
{
int value;
value = rand () % (N) ;
return value;
}
int main (void) {
int n=9,i,c,j=random(n);
i=c;
srand(time(NULL));
do{
for(j=0;j<4;j++)
{
for(i=0;i=j;i++)
{
printf(" %4d \t ",random(n));
scanf(" %4d ",&c);
}
}
} while(j==4 && i==4);
system("pause");
} |