Comparer deux tableaux ? [C++] - Programmation
Marsh Posté le 24-03-2002 à 12:32:18
memcmp
strcmp / stricmp / strncmp / ... si jamais tes tableaux sont des chaînes valides (finies par un 0).
Marsh Posté le 24-03-2002 à 12:38:46
sinon case par case
for (i = 0; i < taille; i++) {
if (tab1[i] < tab2[i])
return -1;
else if (tab1[i] > tab2[i])
return 1;
}
return 0;
ça doit ressembler à 1 truc du genre
Marsh Posté le 24-03-2002 à 12:38:59
Moriaben a écrit a écrit : ok j'aimerais comparer deux tableaux de caractères pour voir si ils contiennent les memes caractères (des noms de stations du metro) ou pas je fais comment ? je compare direct le tab ou je dois faire case par case ? (faites moi un exemple svp ) |
salut,
je suis pas super pro, mais disons une fct qui reçoit en para 2 pointeurs vers des tableaux de char :
Code :
|
enfin un truc du genre...
Marsh Posté le 24-03-2002 à 12:39:45
ReplyMarsh Posté le 24-03-2002 à 12:39:46
Moriaben a écrit a écrit : ok j'aimerais comparer deux tableaux de caractères pour voir si ils contiennent les memes caractères (des noms de stations du metro) ou pas je fais comment ? je compare direct le tab ou je dois faire case par case ? (faites moi un exemple svp ) |
int* compareTab(tab1,tab2)
{
int elementDiff=0;
int* tabDiff;
tabDiff=new int[strlen(tab1)];
for(int i=0;i<strlen(tab1);i++){
if(strcmp(tab1[i],tab2[i]))
tabDiff[nbDiff++]=i;
return tabDiff;
}
cette fonction te retourne un tableau.
Ce tableau de permet de savoir le nombre d'éléments différents avec en plus la position à laquelle les éléments différents ont été trouvé.
Marsh Posté le 24-03-2002 à 11:08:08
ok j'aimerais comparer deux tableaux de caractères pour voir si ils contiennent les memes caractères (des noms de stations du metro) ou pas
je fais comment ? je compare direct le tab ou je dois faire case par case ? (faites moi un exemple svp )