Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3133 connectés 

 


Dernière réponse
Sujet : [C++] Comparer deux tableaux ?
weblook$

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


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
weblook$

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

juju_le_barbare grillé  :D
juju_le_barbare

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

[SDF]Poire 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:
antp memcmp
strcmp / stricmp / strncmp / ... si jamais tes tableaux sont des chaînes valides (finies par un 0).
Moriaben 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 :) )

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)