cs_rigadin
Messages postés5Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention23 mars 2003
-
21 mars 2003 à 23:05
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019
-
23 mars 2003 à 23:59
Le sujet serai :
2 joueurs s'affronte pour trouver la bonne combinaison et vont jouer de manière alternative pour trouver un nb de 5 chiffres compris entre 1 et 8.
Le nombre de chiffres exacts a la bonne place doit etre proposé.
Le nb de chiffre exact mais a la mauvaise place. Le nom du joueur qui doit faire la nouvelle proposition. Les 5 chiffres auront lieu à la suite les uns des autres sans séparateur.quand combinaison est trouvé un messageaverti le nom du joueur gagnant ainsi que le nombre d'essai proposé. Un nombre limite de 20 essais est defini et la solution affiché au cas ou l'on trouve pas le nombre. on traite également lettre à la place de chiffres, rep tro courte ou tro longue, chiffre nul ou > 8. Chaque mauvaise rép n'est pas comptabilisé mais on passe son tour.
Si quelqu'un trouve ç afacile... Toute aide m'st précieuse.
cs_rigadin
Messages postés5Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention23 mars 2003 21 mars 2003 à 23:06
-------------------------------
Réponse au message :
-------------------------------
> Le sujet serai :
> 2 joueurs s'affronte pour trouver la bonne combinaison et vont jouer de manière alternative pour trouver un nb de 5 chiffres compris entre 1 et 8.
> Le nombre de chiffres exacts a la bonne place doit etre proposé.
> Le nb de chiffre exact mais a la mauvaise place. Le nom du joueur qui doit faire la nouvelle proposition. Les 5 chiffres auront lieu à la suite les uns des autres sans séparateur.quand combinaison est trouvé un messageaverti le nom du joueur gagnant ainsi que le nombre d'essai proposé. Un nombre limite de 20 essais est defini et la solution affiché au cas ou l'on trouve pas le nombre. on traite également lettre à la place de chiffres, rep tro courte ou tro longue, chiffre nul ou > 8. Chaque mauvaise rép n'est pas comptabilisé mais on passe son tour.
> Si quelqu'un trouve ç afacile... Toute aide m'st précieuse.
>
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 22 mars 2003 à 00:20
C'est une variante Mastermind, cherche dans les sources publiees, tu trouveras surement ton bonheur.
Niveau algo, c'est trivial. Faudrait voir a proposer au moins un debut de ligne de code pour nous motiver dans les reponses.
BruNews, ciao...
Haldwin
Messages postés77Date d'inscriptionlundi 15 avril 2002StatutMembreDernière intervention16 juin 2004 22 mars 2003 à 12:04
En general ce genre d'aide ressemble etrangement a un sujet de prog dont l'eleve (toi Rigadin) est une grosse feignasse et un gros naze en prog?!!
Je me trompe? ... Je ne pense po d'autant plus que tu as mis comme sujet :" Pour les pros" alors a que c'est a la limite du ridicule comme sujet, tu vois? Si les pros sont juste a ce niveau c'est que ça doit faire depuis seulement 5min qu'ils ont commencer a apprendre la prog.....
Enfin je trouve dommage de voir des msg aussi peu interessant!!!!
JE DEMANDE DE LAISSER LEURS NEZS DANS LEURS M*RD*S TOUS LES PERSONNES DE CE TYPE.... Facile a reconnaitre: Dès le debut du sujet, ils expliquent ce qu'on leur a demandé de faire... Puis ils essaient soit de vous caresser dans le sens du poils soit ils vont font un defit comme dans cet exemple: Si quelqu'un trouve ça facile....
Et un remerciement a la fin. Le pb c'est quand general, il n'y a dans leurs msg aucun signe d'interet quelconque a la prog et au dev.... Autre preuve: aucune source deposée!!!
muhhhhhh soulagé... fallait que je le dise car j'en ai pas mal vu sur ce site et ça m'exaspere toujours autant ces sangsues qui sont pretes a tout sucer!!!!!
cs_rigadin
Messages postés5Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention23 mars 2003 23 mars 2003 à 13:11
Mon cher Haldwin je constate qu'il reste encore pas mal de c..s sur cette terre et que tu en fais partis. Si ce genre de message ne t'interesses pas et que tu n'est pas prêt à aider les autres passes ta route, et ne fais pas ton spitch de boff. Même si le sujet proposé est un devoir comme tu le dis une esquiss a été faite et de plus je tiens à ce que la majesté que tu est me pardonne d'être si peu doué en prog.
N'espèrant jamais avoir de tes nouvelles ...
ps : je penses pas non pls que ce genre de site soit construit pour régler ses comptes.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Haldwin
Messages postés77Date d'inscriptionlundi 15 avril 2002StatutMembreDernière intervention16 juin 2004 23 mars 2003 à 14:18
Ce site n'est pas fait pour regler ses comptes et ça tu as bien raison... mais ici il ne s'agit pas de régler ses comptes mais seulement de mettre en evidence les personnes qui ne souhaitent pas apprendre mais seulement trouvé un prog tout cuit et près à servir!!!!
Le msg ne t'es pas particulierement destiné mais a toutes les personnes qui font ça! Apres je serais le premier à avouer mes torts si mon msg n'a pas lieu d'être pour toi.
Je n'excuse donc si tu ne fait pas parti de ces personnes!
J'ai juste un conseil à te donner: quand tu pose un msg comme celui que tu as posé, expliques un peu ce que tu as fait afin que les autres personnes du site aient l'impression d'un investissement de ta part dans ta recherche et ajouter les points qui sont non résolus et dont tu aimerais avoir la solution. Il s'agit d'une demarche beaucoup plus constructive, qu'en penses tu?
Encore mille excuses si toutefois je me suis trompé,
Bon dev et si tu veux de l'aide je serai le premier à t'en donner mais encore une fois ton msg ne donné pas cette impression,
cs_rigadin
Messages postés5Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention23 mars 2003 23 mars 2003 à 20:19
je fournis la partis que g réalisé.
A vous de voir si il peut y aoir des améliorations sachant que tous les points décris dans mon premier messages ne sont encore pas traité, ne comprenant pas tout à certaine procédure.
#include <stdio.h>
#include <conio.h>
#include <stdlib.h> // déclaration de la bibliothèque de srand
#include <time.h> // déclaration de la bibliothèque de time
#define max 20 // on défini une valeure maxi de 20 caractèrepour les prénoms des joueurs
typedef char chaine [20]
void main ()
{
int nb, rep, cpt1, cpt2, i , j , k , l ;
int tab [max];
chaine texte;
char nom1, nom2;
cpt1 = 0;
cpt2 = 0; // initialisation des compteurs
srand((unsigned) time(NULL));/* permet d'initialiser afin d'avoir un nombre aléatoir et time est
utiliser afin de calculer les secondes passé depuis 1970. ce qui permet
de n'avoir pas le mêle nombre à chaque fois */
nb = (rand ()%1)+7; // on test des valeurs de 1 à 8.
printf ("saisir le nom du joueur numero 1\n");
do
{
scanf ("%c",&nom1);
}
while(nom1<0 || nom1 > taillemax);
tab[k] = nom1;
printf ("saisir le nom du joueur numero 2\n");
do
{
scanf ("%c",&nom2);
}
while(nom2<0 || nom2 > taillemax);
tab[l] = nom2;
for (i=0;i<=20;i+=2) // premiere bouclepour lancer le joueur 1
{
printf ("celui qui doit jouer est %c\n", &nom1);
printf ("veuillez saisir le nombre a tester\n");
scanf ("%d", &rep);
if (rep == nb)
{
printf ("c e bon nombre\n");
cpt1 = cpt1 + 1;
printf ("bravo vous avez gagné au bout de : %d\n", &cpt1);
}
getche();
for (j=1;j<=20;j+=2) // deuxieme boucle pour lancer joueur 2
{
printf ("celui qui doit jouer est %c\n", &nom2);
printf ("veuillez saisir le nombre a tester\n");
scanf ("%d", &rep);
if (rep == nb)
{
printf ("c le bon nombre\n");
cpt2 = cpt2 + 1;
printf ("bravo vous avez gagné au bout de : %d\n", &cpt2);
}
}
getche();
}
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 mars 2003 à 21:04
pour valeurs de 1 à 8
nb = (rand ()%8)+1;
sinon ton code donnait toujours entre 0 et 1
pour le reste le mode console pas mon domaine.
Pour algos complets, j'ai publie un mastermind mode grahique Win32 dans la section asm, si tu sais lire asm...
BruNews, ciao...
cs_rigadin
Messages postés5Date d'inscriptiondimanche 19 janvier 2003StatutMembreDernière intervention23 mars 2003 23 mars 2003 à 22:48
merci brunews, voila des rectificatifs et des complements mais j'avoue n'être pas convaicu par le fonctionnement de mon prog .
#include <stdio.h>
#include <conio.h>
#include <stdlib.h> // déclaration de la bibliothèque de srand
#include <time.h> // déclaration de la bibliothèque de time
#define max 20 // on défini une valeure maxi de 20 caractères pour les prénoms des joueurs
#define max2 5 // on definie une valeure maxi de 5 caractères pour le nb aléatoir
void main ()
{
int nb, cpt, cpt2, cpt3 , cpt4 , i , j , m , n , l , k ;
char tab1 [max], tab2 [max], tab4 [max], tab5 [max];
int tab3 [max2];
char nom1, nom2 , rep;
cpt = 0;
cpt2 = 0;
cpt3 = 0; // initialisation des compteurs
cpt4 = 0;
srand((unsigned) time(NULL));/* permet d'initialiser afin d'avoir un nombre aléatoir et time est
utiliser afin de calculer les secondes passé depuis 1970. ce qui permet
de n'avoir pas le mêle nombre à chaque fois */
for (m=0;m<5;m++) //boucle qui va éxécuter la commande 5 fois.
{
nb = (rand ()%8)+1); //Choisis un chiffre entre 1 et 6
tab3[m] = nb; //et le range dans un tableau.
}
printf ("saisir le nom du joueur numero 1\n");
do
{
scanf ("%c",&nom1);
}
while((nom1 < 0 ) || (nom1 > max));
tab1[max] = nom1;
printf ("saisir le nom du joueur numero 2\n");
do
{
scanf ("%c",&nom2);
}
while((nom2 < 0) || (nom2 > max));
tab2[max] = nom2;
for (i=0;i<=20;i+=2) // premiere bouclepour lancer le joueur 1
{
printf ("celui qui doit jouer est %c\n", &nom1);
printf ("veuillez saisir le nombre a tester\n");
for (l=1;l<=5;l++)
{
scanf ("%c", &rep);
tab4[l] = rep;
}
if (tab4[l] == tab3[m])
{
printf ("c le bon nombre\n");
printf ("bravo vous avez gagné au bout de : \n"); // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}
for (k=1;k<=5;k++) // on lance la boucle for pour savoir si les numéros sont bien placés
{
if (tab3[m] == tab4[l])
{
cpt = cpt + 1; // compteur pour les biens placés
}
else
{
cpt2 = cpt2 + 1; // compteur pour les mals placés
}
}
}
for (j=0;j<=20;j+=2) // deuxieme boucle pour lancer joueur 2
{
printf ("celui qui doit jouer est %c\n", &nom2);
printf ("veuillez saisir le nombre a tester\n");
for (n=1;n<=5;n++)
{
scanf ("%c", &rep);
tab5[n] = rep;
}
if (tab5[n] == tab3[m])
{
printf ("c le bon nombre\n");
printf ("bravo vous avez gagné au bout de : \n"); // XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}
for (k=1;k<=5;k++) // on lance la boucle for pour savoir si les numéros sont bien placés
{
if (tab3[m] == tab5[n])
{
cpt3 = cpt3 + 1; // compteur pour les biens placés
}
else
{
cpt4 = cpt4 + 1; // compteur pour les mals placés
}
}
}
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 23 mars 2003 à 23:59
Je pense que les mal places et bien places vont etre comptabilises 2 fois. Un truc possible, fais une copie du tableau a rechercher avant verif, tu commences par bien places, si une position est trouvee, colle dans la copie une valeur flag, exemple -1, tu es sur de ne pas la recompter.
BruNews, ciao...