comparaison de deux chaines de caractères
bonjour,
Je souhaite comparer deux chaines de caractères entrées par l'utilisateur.
L'idée est donc de comparer caractère par caractère (mais sans utiliser strcmp) ;
Voici le code ( j'utilise des fonctions) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| #include<string.h>
#include<iostream.h>
int longueur(char ch[])
//lg d'une chaîne de car.
{
int i=0 ;
while (ch[i] != '\0')
{
i++ ;
}
return (i) ;
}
bool compare(char ch1[], char ch2[])
//compare deux chaînes de car.
{
if (longueur(ch1) != longueur(ch2))
return false ;
int i=0 ;
while (ch1[i] == ch2[i])
i++ ;
if (i == longueur(ch1))
return true ;
else
return false ;
}
main()
{
char ch1[50], ch2[50] ;
cout << "Entrez une premiere chaine de caracteres :" ;
cin >> ch1 ;
cout << "Entrez une deuxieme chaine de caracteres :" ;
cin >> ch2 ;
if (compare(ch1, ch2) == true)
cout << "les deux chaines sont egales" << endl ;
else cout << "les deux chaines sont différentes" << endl ;
} |
or le programme me sort toujours que les deux chaines sont différentes.
J'ai du mal à voir d'ou ca vient.
Merci bcp de m'aider.
:D