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) :
or le programme me sort toujours que les deux chaines sont différentes.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 ; }
J'ai du mal à voir d'ou ca vient.
Merci bcp de m'aider.
Partager