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