Mastermind en C
rafale69300
Messages postés
84
Date d'inscription
Statut
Membre
Dernière intervention
-
rafale69300 Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
rafale69300 Messages postés 84 Date d'inscription Statut Membre Dernière intervention -
Bonjour, voici ce que j'ai codé en C mais j'ai un petit probème au niveau des mal placé dans ma procédure analyse et pour la fonction aléatoire pour le tirage de l'ordinateur je ne m'en suis pas encore occupé je fais saisir les valeurs pour le moment. Merci d'avance pour votre aide.
Voici mon code :
Voici mon code :
#include<stdio.h> #include<stdlib.h> #define MAX 5 void tirage(int Tordi[]); void saisie_proposition(int Tpropo[]); void analyse(int Tordi[], int Tpropo[], int *ptnbbp, int *ptnbmp); void afficher_selection(int Tordi[]); int main(void) { int nbbp, nbmp, cpt, Tordinateur[MAX], Tproposition[MAX]; char rep[2]; nbbp=nbmp=0; tirage(Tordinateur); cpt=0; do { saisie_proposition(Tproposition); analyse(Tordinateur,Tproposition,&nbbp,&nbmp); printf("\n%d bien placé(s) et %d mal placé(s)",nbbp,nbmp); cpt++; if(nbbp==5) { printf("\ngagné!!"); } else { printf("\n voulez vous réessayer?"); scanf("%s",&rep); } if(cpt>=10) printf("\nVous n'aviez que 10 tentatives.Fin!"); } while(rep[0]=='o'&& cpt<10 && nbbp!=5); afficher_selection(Tordinateur); } void tirage(int Tordi[]) { int i; for(i=0;i<=MAX-1;i++) { printf("\nSaisir une valeur"); scanf("%d",&Tordi[i]); } } void saisie_proposition(int Tpropo[]) { int i; for(i=0;i<=MAX-1;i++) { printf("\nSaisir le nombre"); scanf("%d",&Tpropo[i]); while(Tpropo[i]<1 || Tpropo[i]>8) { printf("\nLe nombre doit être compris entre 1 et 8"); printf("Ressaisir un nombre"); scanf("%d",&Tpropo[i]); } } } void afficher_selection(int Tordi[]) { int i; printf("\nLa solution était:"); for(i=0;i<=MAX-1;i++) { printf("%d",Tordi[i]); } } void analyse(int Tordi[], int Tpropo[], int *ptnbbp, int *ptnbmp) { int i,k; *ptnbbp=*ptnbmp=0; for(i=0;i<=MAX-1;i++) { if(Tordi[i]==Tpropo[i]) (*ptnbbp)++; } for(k=0;k<=MAX-1;k++) { for(i=0;i<=MAX-1;i++) { if(Tpropo[k]=Tordi[i]) (*ptnbmp)++; } } }
4 réponses
Je répond car personne ne le fait.
- 'scanf("%s",&rep);' faut il faut mettre: 'scanf("%s",rep);'
- 'int main' implique 'return ...'
Pour ce qui est de l'utilisation des scanf, si fiddy passe par là, il t'expliquera très bien que c'est pas terrible ;=)
- 'scanf("%s",&rep);' faut il faut mettre: 'scanf("%s",rep);'
- 'int main' implique 'return ...'
Pour ce qui est de l'utilisation des scanf, si fiddy passe par là, il t'expliquera très bien que c'est pas terrible ;=)