Tableau

Signaler
Messages postés
15
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
2 septembre 2008
-
Messages postés
5
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
18 mai 2008
-
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

Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009

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
Messages postés
15
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
2 septembre 2008

lol, je sais

tu peux me corriger stp
Messages postés
15
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
2 septembre 2008

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.
Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009

Je veux bien corriger mais je ne comprends pas ce que cette fonction doit faire !

Jean-François
Messages postés
15
Date d'inscription
mercredi 14 mai 2008
Statut
Membre
Dernière intervention
2 septembre 2008

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;}
Messages postés
482
Date d'inscription
vendredi 26 août 2005
Statut
Membre
Dernière intervention
5 décembre 2009

Je ne comprends pas plus ! C'est pour utiliser comment ?

Jean-François
Messages postés
5
Date d'inscription
samedi 12 janvier 2008
Statut
Membre
Dernière intervention
18 mai 2008

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;}