Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/12/2007, à 17:34

alix_46

problème en c

bonjour à  tous!

je suis bloqué avec mon code en C et je ne sais pas comment le résoudre!!!
svp aidez moi, c'est urgent!!
merci d'avance

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MAX 4

/* prototype fontion*/

/* fin prototype*/


/* fonction principale main*/


int main (void)

{
    int vect_ordi[MAX], vect_joueur[MAX], limite= 4;
    int ntour=0;
    int i;


    
    printf(" ***MASTER MIND** \n");
    
    
    printf(" deviner une combinaison de quatre couleurs parmi les sept proposés\n");
    printf("  vous avez droit a 10 essais!!!!!\n");
    printf("  couleurs proposés\n");
    
    printf(" 1 = rouge\n");
    printf(" 2 = bleu\n");
    printf(" 3 = vert\n");
    printf(" 4 = jaune\n");
    printf(" 5 = blanc\n");
    printf(" 6 = orange\n");
    printf(" 7 = noir\n");

/*    combinaison_ordi=*/ initialiser_vecteur ()/*( *vect_ordi[0],*limite);*/
    //on tire au hasard 
    for(i=0;i<limite;i++)
        
        combinaison_ordi= (rand()%7)+1;


    printf("que la partie commence");

    while( comparer_nbr_bp(int vect_ordi,int vect_joueur,int ntour == 0)
    {
        printf(" il vous reste %d coup a jouer ", (10-ntour));
        
        demande_combinaison_joueur= demande_nbr ( *vect_joueur[0],*limite);
    
        lire_combinaison_joueur= lire_nbr ( *vect_joueur[0],*limite);
    
        bien_placer= comparer_nbr_bp ( *vect_ordi[0],*vect_joueur[0],*limite);
    
        mal_placer = comparer_nbr_mp ( *vect_ordi[0],*vect_joueur[0],*limite);
    
        trouve_pas = comparer_nbr_tp ( *vect_ordi[0],*vect_joueur[0],*limite);

        ntour ++;
    }

    if (ntour != 10)
        printf("bravo , vous avez gagner");
    else
        printf(" dommage, perdu");
    getchar();
    return 0;
    
}

/* les differents fonctions*/


void initialiser_vecteur ( int *vect_ordi[0],int *limite)

{
    int i;
    printf(" les nombres choisit par lordinateur");
    for ( i=0;i<limite;i++)
    {
          vect_ordi[i]= (rand()%7+1;
          }
    return i;
}

void demande_nbr ( int *vect_joueur[0],int *limite)

{
    int i;
    
    for ( i=0;i<limite;i++)

    {
    printf("%d",vect_joueur[0]);

    }
}

void lire_nbr ( int *vect_joueur[0],int *limite)


{
    int i;
    
    for ( i=0;i<limite;i++,vect_joueur++)

    {
    printf("%d",*vect_joueur);

    }
    return i;


}


void comparer_nbr_bp ( int *vect_ordi[0],int *vect_joueur[0],int *limite, int *ntour);
{
    int i;
    int trouve=0;
    
    for ( i=0;i<limite;i++)
    {
        if(vect_ordi[i] == vect_joueur[i])
        {
            printf(" la couleur %d est bien correct,i+1);
                trouve++;
        }
        if(trouve == 4)
            return 1;
        if (ntour == 10)
            return 1;

    }
return 0
}



/*void mal_placer = comparer_nbr_mp ( *vect_ordi[0],*vect_joueur[0],*limite)
{
    int i,j,k;
    
    if (*


*/


void comparer_nbr_tp ( int *vect_ordi[0],int *vect_joueur[0],int *limite)
{
    int i;
    int trouve=0;
    
    for ( i=0;i<limite;i++)
    {
        if(vect_ordi[i] != vect_joueur[i])
        {
            printf(" la couleur %d ne se trouve pas dans la combinaison ,i+1);
                trouve++;
        }

    }
return trouve
}

Dernière modification par slasher-fun (Le 18/09/2011, à 13:00)

#2 Le 14/12/2007, à 17:40

slasher_fun

Re : problème en c

Euh... des détails ? C'est bien gentil de nous balancer un code avec "aidez moi c'est urgent", mais on est là pour t'aider, par pour tout faire à ta place...

Hors ligne

#3 Le 14/12/2007, à 17:46

Tycho Brahe

Re : problème en c

Le truc bien visible est que tu as oublié les prototypes des fonctions tout au début (d'ailleur tu avais prévu des commentaires pour définir la zone prévue a cet effet). Forcément, si elles sont après le main ça va pas marcher tout seul wink

Après je n'irais pas regarder un code sans connaitre le soucis, je n'aime pas trop les devinettes, surtout quand elles sont sans coloration syntaxique.

Dernière modification par Tycho Brahe (Le 14/12/2007, à 17:47)


Loi de Newton :
Si tu restes à glander sous le pommier, tu pourrais bien prendre une pomme sur la gueule.

Hors ligne

#4 Le 14/12/2007, à 17:56

slasher_fun

Re : problème en c

Ah effectivement les fonctions utilisées avant leurs déclarations spakoul big_smile

Hors ligne

#5 Le 14/12/2007, à 18:26

alix46

Re : problème en c

j'ai modifié un peu le code!
je veux juste savoir ce qui ne va pas pour savoir ce que je dois changer!!
et je ne trouve pas comment faire pour dire qu'un nombres est mal placé!

merci

#include <stdio.h>
#include <time.h>
#include <stdlib.h>
#define MAX 4

/* prototype fonction*/

void initialiser_vecteur ()



void demande_combinaison_joueur= demande_nbr ( int *vect_joueur[0],int*limite);
int 	lire_combinaison_joueur= lire_nbr ( int *vect_joueur[0],int *limite);
    
int	bien_placer= comparer_nbr_bp ( int *vect_ordi[0],int*vect_joueur[0],int*limite);
	
int 	mal_placer = comparer_nbr_mp (int *vect_ordi[0],int*vect_joueur[0],int*limite);
	
int	trouve_pas = comparer_nbr_tp ( int *vect_ordi[0],int*vect_joueur[0],int*limite);

/* fin prototype*/


/* fonction principale main*/


int main (void)

{
    int vect_ordi[MAX], vect_joueur[MAX], limite= 4;
    int ntour=0;
    int i;


    
    printf(" ***MASTER MIND** \n");
    
    
    printf(" deviner une combinaison de quatre couleurs parmi les sept proposés\n");
    printf("  vous avez droit a 10 essais!!!!!\n");
    printf("  couleurs proposés\n");
    
    printf(" 1 = rouge\n");
    printf(" 2 = bleu\n");
    printf(" 3 = vert\n");
    printf(" 4 = jaune\n");
    printf(" 5 = blanc\n");
    printf(" 6 = orange\n");
    printf(" 7 = noir\n");

/*    combinaison_ordi=*/ initialiser_vecteur ()/*( *vect_ordi[0],*limite);*/
    //on tire au hasard 
    for(i=0;i<limite;i++)
        
        combinaison_ordi= (rand()%7)+1;


    printf("que la partie commence");

    while( comparer_nbr_bp(int vect_ordi,int vect_joueur,int ntour == 0)
    {
        printf(" il vous reste %d coup a jouer ", (10-ntour));
        
        demande_combinaison_joueur= demande_nbr ( *vect_joueur[0],*limite);
    
        lire_combinaison_joueur= lire_nbr ( *vect_joueur[0],*limite);
    
        bien_placer= comparer_nbr_bp ( *vect_ordi[0],*vect_joueur[0],*limite);
    
        mal_placer = comparer_nbr_mp ( *vect_ordi[0],*vect_joueur[0],*limite);
    
        trouve_pas = comparer_nbr_tp ( *vect_ordi[0],*vect_joueur[0],*limite);

        ntour ++;
    }

    if (ntour != 10)
        printf("bravo , vous avez gagner");
    else
        printf(" dommage, perdu");
    getchar();
    return 0;
    
}

/* les differents fonctions*/


void initialiser_vecteur ( int *vect_ordi[0],int *limite)

{
    int i;
    printf(" les nombres choisit par lordinateur");
    for ( i=0;i<limite;i++)
    {
          vect_ordi[i]= (rand()%7+1;
          }
    return i;
}

void demande_nbr ( int *vect_joueur[0],int *limite)

{
    int i;
    
    for ( i=0;i<limite;i++)

    {
    printf("%d",vect_joueur[0]);

    }
}

void lire_nbr ( int *vect_joueur[0],int *limite)


{
    int i;
    
    for ( i=0;i<limite;i++,vect_joueur++)

    {
    printf("%d",*vect_joueur);

    }
    return i;


}


void comparer_nbr_bp ( int *vect_ordi[0],int *vect_joueur[0],int *limite, int *ntour);
{
    int i;
    int trouve=0;
    
    for ( i=0;i<limite;i++)
    {
        if(vect_ordi[i] == vect_joueur[i])
        {
            printf(" la couleur %d est bien correct",i+1);
                trouve++;
        }
        if(trouve == 4)
            return 1;
        if (ntour == 10)
            return 1;

    }
return 0
}



/*void mal_placer = comparer_nbr_mp ( in*vect_ordi[0],int*vect_joueur[0],int*limite)
{
    int i,j,k;
    
    if (*


*/


void comparer_nbr_tp ( int *vect_ordi[0],int *vect_joueur[0],int *limite)
{
    int i;
    int trouve=0;
    
    for ( i=0;i<limite;i++)
    {
        if(vect_ordi[i] != vect_joueur[i])
        {
            printf(" la couleur %d ne se trouve pas dans la combinaison" ,i+1);
                trouve++;
        }

    }
return trouve
}

#6 Le 14/12/2007, à 19:12

freebird

Re : problème en c

Il faut que tu dises quel problème tu rencontres. Sans ça c'est pas gagné de t'aider ;-)

Si c'est une erreur de compilation, copie le message d'erreur que tu as.

Hors ligne

#7 Le 14/12/2007, à 21:04

telliam

Re : problème en c

ça ne peut pas compiler, il y a des fautes de syntaxe :
la déclaration des prototypes est mal construite ( oubli de ; et initialisation de variable avec le prototype)...

de plus tu ne dois pas déclarer le parametre limite comme un int * mais comme un int.
Règles d'abord les problèmes de compilation, ensuite tu pourras attaquer les autres problèmes


"- Un intellectuel assis va moins loin qu'un con qui marche."
Maurice Biraud - Un Taxi pour Tobrouk
Michel Audiard

Hors ligne