Tableau

MBALHOUSSE Messages postés 15 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 2 septembre 2008 - 16 mai 2008 à 16:27
chaipo Messages postés 5 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 18 mai 2008 - 18 mai 2008 à 13:09
bonjour

1) au fait, je veux programmer une fonction en C qui renvoie une valeur entier pour chaque mot
cad j'ai besoin d'un tableau de caractere comme variable d'entrée et un tableau d'entier dans ma sortie.

en general, une fonction qui fait par expemle: toto =  5 tata = 8 titi =10 ....pour chaque mot j'ai une valeur.
est ce qu'on peut faire comme ça par exemple
int

  fonction(
char classe[])

{

int sortie[10];classe[0] =

"toto";classe[1] =

"tata";classe[2] =

"titi";

for (classe[i]=0; i<3; i++)

{

ventex[i]={0;10;13}

}

return ventex}

2)  y'a t il un autre moyen pour faire ça que les tableaux; en utilisant ENUM en C++.

7 réponses

cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
16 mai 2008 à 16:37
Bonjour,

Aïe !
int sortie[10]; est, à peu près, la seule ligne correcte et elle sert à rien !
Il y a intérêt à sortir un cours de C !

Jean-François
0
MBALHOUSSE Messages postés 15 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 2 septembre 2008
16 mai 2008 à 16:44
lol, je sais

tu peux me corriger stp
0
MBALHOUSSE Messages postés 15 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 2 septembre 2008
16 mai 2008 à 16:52
je sais que j'ai pas le droit de mettre

classe[0] = "toto"; (g pas le droit de depasser une commentaire)
.
.

mais je sais pas comme traiter une chaine de caractere,
vous avez une solution.
0
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
16 mai 2008 à 17:05
Je veux bien corriger mais je ne comprends pas ce que cette fonction doit faire !

Jean-François
0

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

Posez votre question
MBALHOUSSE Messages postés 15 Date d'inscription mercredi 14 mai 2008 Statut Membre Dernière intervention 2 septembre 2008
16 mai 2008 à 17:30
je vous ai expliquer au debut de ma question, 
une fonction qui fait par expemle: toto =  1 tata =2 titi =3 ....pour chaque mot j'ai une valeur.

int  fonction(
char classe[3])





{








int
sortie[3]= {1,2,3};
classe[0] =


"toto"
; classe[1] =


"tata"
; classe[2] =


"titi"
;








for
(classe[i]=0; i<3; i++)

{

ventex[i]=classe[i]

}


return
0;}
0
cs_jfrancois Messages postés 482 Date d'inscription vendredi 26 août 2005 Statut Membre Dernière intervention 5 décembre 2009 2
16 mai 2008 à 17:52
Je ne comprends pas plus ! C'est pour utiliser comment ?

Jean-François
0
chaipo Messages postés 5 Date d'inscription samedi 12 janvier 2008 Statut Membre Dernière intervention 18 mai 2008
18 mai 2008 à 13:09
salut,

Je pense avoir compris, enfin arrête moi si c'est pas ca:
Tu veux une fonctions qui prend en arguments des mots, et doit ressortir les valeurs correspondantes à chaque mot c'est ca ?

bon alors déjà comme jfrancois l'a dit il n'y a pas grand chose de correcte ...

Déjà, int  fonction(
char
classe[3]) ne veut rien dire, ici tu veux donner un tableau de mots
donc la seul solution est de donner à la fonction un pointeur (de type
char**) qui pointe sur ton tableau de mots. Ce tableau contiendra des
pointeurs (char*) qui pointeront sur les tableaux qui  contiendront tes
mots. Donc par exemple:


void fonction(char** _listedemot, int* _nombrecorrespondant)

{

    char test1[4] = "aaa"; //correspond a 1

    char test2[4] = "bbb"; //correspond a 2

    char test3[4] = "ccc"; //correspond a 3


    for (int i=0; i <3; i++)

    {

        if (!strncmp (_listedemot[i], test1, 4))  // strncmp te compare les chaine de caractère pour savoir à quel entier correspond ton mot

            _nombrecorrespondant[i] = 1;

        else if (!strncmp (_listedemot[i], test2, 4))

            _nombrecorrespondant[i] = 2;

        else if (!strncmp (_listedemot[i], test3, 4))

            _nombrecorrespondant[i] = 3;

        else _nombrecorrespondant[i] = 4; // le mot ne correspond a aucune correspondance

    }

}


int main (int argc, char* argv[])

{

    char mot1[4] = "bbb"; // tu donnes tes mots

    char mot2[4] = "aaa";

    char mot3[4] = "ccc";


    char* listedemot[3]; // tu rentres tes mots dans un tableau

    listedemot[0] = &mot1[0];

    listedemot[1] = &mot2[0];

    listedemot[2] = &mot3[0];


    int nombrecorrespondant[3]; // tu créer le tableau dans lequel vont se trouver les valeurs correspondantes à chaque mots

   

    fonction(listedemot, nombrecorrespondant); // tu donnes les deux tableaux à ta fonction


    printf ("%i\n %i\n %i\n ", nombrecorrespondant[0],
nombrecorrespondant[1], nombrecorrespondant[2]); // tu affiches les
valeurs correspondantes à chaque mots et tu vois s'afficher 2 1 3 tu a
donc d'abord le mot numero 2 puis le 1 puis le 3 !


       

    system("PAUSE");


}
return 0;}
0
Rejoignez-nous