[algo et C]

Fermé
bosz28 - 8 oct. 2005 à 12:25
LeFrettchen Messages postés 23 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 17 octobre 2005 - 12 oct. 2005 à 07:09
Voila, l'intitulé :
"Un joueur lance 2 dés. Si la somme des 2 dés est 2, il gagne, il gagne 10 euros.Si seulement l'un des 2 dés est 1; il gagne 5 euros. Il ne gagne rrien et ne perd rien si les 2 dés sont égaux et différents de 1. Dans les autres cas il perd 5 euros.

Il faut faire l'analyse de ce jeu en algorithme
Puis écrire en C, le programme du jeu qui simule ce jeu et afiche le gain ou la perte a l'écran.
Il est préciser les fonctions randomize() et random(n) ainsi que les bibliothèques stdlib.h et time.h"

Je ne sait vraiment pas par ou partir débutant en prog depuis à peine 2 semaines je suis totalement perdu. :cry:

Si quelqu'un pourais m'aider ce serais super sympas! merci @tous d'avance

11 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
8 oct. 2005 à 13:28
eh ui la pratique du langage c. et de la politesse aussi. faut s'entrainer.

c'est assez simple il te faut variable, et apppliquer la formule pseudo-aleatoire sur ces variables, et enfin comparer autant de fois que nécessaire les deux variables qui sont en fait les deux dés.
0
sérieux si tu trouve mon message trop impolie a ton gout bah tu y répond pas!!!sérieux je passe un gout de gueule contre les gens qui balance des "mal-poli" à tout bout de champs!! tu voulais quoi que je te raconte ma vie! Je suis venu là en espérant trouver quelqu'un qui puisse m'aider pas quelqu'un qui vienne me faire une leçon de morale juste pour ce donner un genre!!

celui laa je te le dédicasse :
merci de ta compréhenssion, je te prie d'accepter mees plus HONORABLE zé SINCERE salutation
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
8 oct. 2005 à 20:55
non c'est pas ca c'etait juste pour le bonjour mais y avait rien de méchant t'inquiete pas. bien ur ue tu peux trouver de l'aide ici, je peu meme t'aider si tu as besoin. le programme est assez simple en fait. voila bonne soirée
0
sanouua Messages postés 12 Date d'inscription vendredi 1 juillet 2005 Statut Membre Dernière intervention 19 septembre 2011
8 oct. 2005 à 23:21
salut
je pense ke c simple mais il fau ke je sache c koi dés c un jeu de condition voila merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
C'est gentil de m'aider.
Voilà le début, je vais vous le copier en même temps sur le forum.

Analyse :
Données : 2 dés, dé 1, dé 2
Résultat : Le gain ou la perte du jeu
Traitement : Calculer la somme des deux dès pour en définir les gains ou les pertes du joueur
0
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 506
9 oct. 2005 à 11:23
salut,
Ton analyse succinte n'est pas assez précise pour arriver à l'algo
données : la valeur du dé 1 , la valeur du dé 2, ces valeurs seront attribués par
les fonctions aléatoires de l'ordinateur.
Sortie : la valeur du gain ou de la perte du joueur du joueur
Traitement :
- attribuer de manière aléatoire la valeur des deux dés
- suivant les valeurs des 2 dés calculés la valeur du gain (ou de la perte)
- indiquer au joueur la valeur de ces dés et ses gains
D'après ton énoncé si le joueur ne gagne rien, c'est une perte et pas un gain...
ça peut jouer dans l'affichage du résultat.

Maintenant il te reste à formuler en algo :
- déclaration de tes variables d'entrée et de sortie
- faire le tirage aléatoire
- la série de test qui te permettrons d'évaluer le gain en fonction des règles
du jeu (des 'si', 'alors' et 'sinon')
- l'affichage du résultat

Après tu t'interese sà la traduction de ton algo dans le langage demandé.
0
comment on écrit en algo pour avoir un nombre aléatoire compris entre 1 et 6?
0
crabs Messages postés 908 Date d'inscription lundi 18 avril 2005 Statut Membre Dernière intervention 3 août 2008 506
9 oct. 2005 à 13:53
Tu poses un postulat :
Je considére la fonction :
fonction hasard( entier min, entier max ) retourne entier
comme étant une fonction qui retourne de manière aléatoire un nombre
entier entre min et max.


Et ensuite tu l'utilises dans ton algo comme une fonction normale.
0
xaruf Messages postés 15 Date d'inscription lundi 10 octobre 2005 Statut Membre Dernière intervention 1 mai 2012
10 oct. 2005 à 07:28
/*On part du principe que tu as développer une fonction de génération des nombre aléatoires et que tu attend la saisie au calivier ou par clique pour quitter */

//déclaration de variables
int D1, D2, SomD, Solde
long Gain, solde
bool Quitter

// intiatilsation des varaibles
D1 = 0, D2=0, SomD=0, Gain=0, Quitter=0

//une boucle concernant le lancement des dés

Tant que Quitter <> 0

D1=GénérerNb(Min,Max)
D2=GénérerNb(Min,Max)
SomD=D1+D2

Si SomD == 2 alors
Gain=10
Sinon Si D1 == 1 OU D2 ==1 alors
Gain=5
Sinon Si D1==D2 alors
Gain=0
Sinon
Gain=0-5
Fin Si

Solde=Solde+Gain
Affiche(Gain)
Affiche(Solde)
Quitter=ReponseUtilsateur(SaisieOuClique)

Fin Tant que
//
//ou
bool Perte
//une boucle concernant le lancement des dés
Perte=0

Tant que Quitter <> 0

D1=GénérerNb(Min,Max)
D2=GénérerNb(Min,Max)
SomD=D1+D2

Si SomD == 2 alors
Gain=10
Solde=Solde+10
Sinon Si D1 == 1 OU D2 ==1 alors
Gain=5
Solde=Solde+5
Sinon Si D1==D2 alors
Gain=0
Sinon
Solde=Solde-5
Perte=1
Fin Si

Si Perte==1 alors
Affiche("La perte est de -5")
Sinon
Affiche("Le gain est de : ",Gain)
Fin Si

Affiche("Le solde est de : ",Solde)
Quitter=ReponseUtilsateur(SaisieOuClique)
Fin Tant que

//
Ya certainement mieux


Xaruf
0
lude<stdlib.h>
#include<time.h>
#include<stdio.h>
#include<conio.h>

void lancdes(int de1, int de2)
void majscore(int de1, int de2)

void main()
{
    int de1,de2,scorej;
    scorej = 0;
    de1 = 0;
    de2 = 0;
    randomize();
    do
    {
        lancdes(&de1, &de2);
	majscore(&score, de1, de2);
    }
    
    while (1);
    return 0;
}
 
void lancdes(int *de1, int *de2)
{
    printf("Appuyez sur une touche pour lancer les d‚s");
    getch();
    *de1 = 1+random(6);
    *de2 = 1+random(6);
}
 
void majscore(int score, int de1, int de2)
{
int score,de1,de2;
    if(de1 + de2 == 2)
    {
	score = 10;
    }
    else
    {
        if(de1 == 1)
        {
	    score = 5;
        }
        else
        {
            if(de2 == 1)
            {
		score = 5;
            }
            else
            {
                if(de1 == de2)
                {
		    score = 0;
                }
                else
                {
                    score = -5;
                }
            }
        }
    }
}


0
lude<stdlib.h>
#include<time.h>
#include<stdio.h>
#include<conio.h>

void lancdes(int de1, int de2)
void majscore(int de1, int de2) //<-----"declaration syntax error ici!je suis totalement perdu : ' (

void main()
{
    int de1,de2,scorej;

0
LeFrettchen Messages postés 23 Date d'inscription jeudi 9 janvier 2003 Statut Membre Dernière intervention 17 octobre 2005 12
12 oct. 2005 à 07:09
Bonjour.

Dans ton code, tu écris :
void majscore(int de1, int de2)

puis, un peu plus loin, tu déclare :
void majscore(int score, int de1, int de2)

Ca serait ptêt mieux que les deux déclarations soient identiques, non ?
0