MBALHOUSSE
Messages postés15Date d'inscriptionmercredi 14 mai 2008StatutMembreDernière intervention 2 septembre 2008
-
16 mai 2008 à 16:27
chaipo
Messages postés5Date d'inscriptionsamedi 12 janvier 2008StatutMembreDernière intervention18 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++.
chaipo
Messages postés5Date d'inscriptionsamedi 12 janvier 2008StatutMembreDernière intervention18 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:
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 !