[C++] Comparer deux tableaux ?

Comparer deux tableaux ? [C++] - Programmation

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 :) )

Reply

Marsh Posté le 24-03-2002 à 11:08:08   

Reply

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).


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
Reply

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
 :hello:


---------------
Des bons sites pour Delphi? http://forum.hardware.fr/forum2.php3?post=16838&cat=10 -- informaticien -- http://www.z0rglub.com/phpwebgallery/ -- Delphi :love:
Reply

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 :
  1. #include <iostream.h>
  2. bool compare(char *tab1, char *tab2)
  3. {
  4. for (int i=0; i<sizeof(tab1); i++)
  5. {
  6. if (tab1[i] != tab2[i])
  7.   return false;
  8. }
  9. return true;
  10. }
  11. void main()
  12. {
  13. char b[255], c[255];
  14. cin >> b;
  15. cin >> c;
  16. if (compare(b, c))
  17. cout << "true";
  18. else
  19. cout << "false";
  20. int a;
  21. cin >> a;
  22. }


 
enfin un truc du genre...


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh Posté le 24-03-2002 à 12:39:45    

grillé  :D


---------------
Visitez mon site : http://www.jujubarbare.linux-fan.com
Reply

Marsh 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é.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed