Comparaison des valeurs de deux chaines C++
forbenster
Messages postés
10
Date d'inscription
Statut
Membre
Dernière intervention
-
shadymetal Messages postés 177 Date d'inscription Statut Membre Dernière intervention -
shadymetal Messages postés 177 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Je dois écrire un programme en C++ qui prend en compte une chaine de caractère initialise et une autre chaine qui doit être entre au clavier par l'utilisateur.
Ce que je suis suppose faire c'est de comparer chaque caractere de la chaine rentree par l'utilisateur par les caracteres de la chaine initialise dans le programme.
Aussitot que je trouve que l'un des caracteres rentre par l'usager est different de l'un des caracteres de la chaine initialisee, le programme doit retournee une valeur boolean false.
Voici ce que j'ai fait :
do
{
for(i=0; i<caractereLu.size(); i++)
for(j=0; j<caractereInitialise.size(); j++)
{
if (caractereLu[i]==caractereInitialise[j])
{
valeur=true;
}
else
valeur=false;
}
}
while(valeur==true);
Merci de votre aide !!!!!!!!
Je dois écrire un programme en C++ qui prend en compte une chaine de caractère initialise et une autre chaine qui doit être entre au clavier par l'utilisateur.
Ce que je suis suppose faire c'est de comparer chaque caractere de la chaine rentree par l'utilisateur par les caracteres de la chaine initialise dans le programme.
Aussitot que je trouve que l'un des caracteres rentre par l'usager est different de l'un des caracteres de la chaine initialisee, le programme doit retournee une valeur boolean false.
Voici ce que j'ai fait :
do
{
for(i=0; i<caractereLu.size(); i++)
for(j=0; j<caractereInitialise.size(); j++)
{
if (caractereLu[i]==caractereInitialise[j])
{
valeur=true;
}
else
valeur=false;
}
}
while(valeur==true);
Merci de votre aide !!!!!!!!
A voir également:
- Comparaison des valeurs de deux chaines C++
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Comparaison million milliard - Accueil - Technologies
- Nombre de jours entre deux dates excel - Guide
- Deux ecran pc - Guide
- Comment faire deux colonnes sur word - Guide
6 réponses
au faite c'est pa la peine de comparé chaque letre entre les deux chaine no ? just si le mot tapé par l'utilisateur ne corespon pas avec le mot stoqué ds ta variable , sa retourne false non ?
si c'est sa, tu dois just utilisé la fonction strcmp qui se trouve ds la biblio string.h
donc se que tu dois fair c'est plutot sa:
if (strcmp(chaine1,chaine2)==0) valeur=true
pour info la fonction strcmp renvoi une valeur positif si chaine 1 est superieur de chaine2( pas le nombre mais alphabetiquement)
ou une valeur negativ si chaine 1 est inferieur de chaine2
ou un 0 si chaine 1 est identique a chaine 2
si c'est sa, tu dois just utilisé la fonction strcmp qui se trouve ds la biblio string.h
donc se que tu dois fair c'est plutot sa:
if (strcmp(chaine1,chaine2)==0) valeur=true
pour info la fonction strcmp renvoi une valeur positif si chaine 1 est superieur de chaine2( pas le nombre mais alphabetiquement)
ou une valeur negativ si chaine 1 est inferieur de chaine2
ou un 0 si chaine 1 est identique a chaine 2
tu peu essayé d'être un peu plus claire stp j'ai pas tout compris , sans oublié de mettre des accent sur les "e" :d,
J’ai une chaine de caractère qui comprend les lettres « abcd » (chaine1= « abcd »);
Je demande à l’utilisateur d’entrer une chaine de caractères (chaine2) de n'importe quelle taille et je vérifie si la chaine saisie par l’utilisateur comporte uniquement les lettres de la chaine1.
Si la chaine2 est composée uniquement des lettres de la chaine1 alors mon programme retourne true sinon il
retourne false.
Merci de votre aide, j’espère que je suis un peu plus clair.
Je demande à l’utilisateur d’entrer une chaine de caractères (chaine2) de n'importe quelle taille et je vérifie si la chaine saisie par l’utilisateur comporte uniquement les lettres de la chaine1.
Si la chaine2 est composée uniquement des lettres de la chaine1 alors mon programme retourne true sinon il
retourne false.
Merci de votre aide, j’espère que je suis un peu plus clair.
Bonjour,
Au fait oui je comprends ce que tu dis, mais la vraiment c'est chaque lettre qu'il vaut comparer et non pas la longueur de mes chaines.
Par exemple si l'utilisateur rentre une chaine : abbbbbbbbbbcccccccdddddddd
le programme renvoie true
dans le cas ou celui ci rentre : aaaaaaaafffffffffffddddddddddddd
le programme renvoie false, parce que le " f " ne fait pas partie des lettres de la chaine1 qui sont abcd.
Merci de ton aide!!!!!!!!!!!!!!
Au fait oui je comprends ce que tu dis, mais la vraiment c'est chaque lettre qu'il vaut comparer et non pas la longueur de mes chaines.
Par exemple si l'utilisateur rentre une chaine : abbbbbbbbbbcccccccdddddddd
le programme renvoie true
dans le cas ou celui ci rentre : aaaaaaaafffffffffffddddddddddddd
le programme renvoie false, parce que le " f " ne fait pas partie des lettres de la chaine1 qui sont abcd.
Merci de ton aide!!!!!!!!!!!!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
haa oki j'ai compris
dans se cas il faut utilisé la fonction strchr... cette fonctionne permet de cherché un caractere dans une chaine,
je pense que c'est se qu'il te faut no ? si c'est le cas alors se qu'il fau faire
Valeur=false
i=0
while ((Chaine2[i]!='\0') && (valeur==false))
do {
if (strch(chaine1,Chaine2[i])==NULL) Valeur=true
else i++
}
et la tu devré testé sur Valeur pour savoir si il é sorti de l aboucle parce qu'il é arrivé a la fin de chaine2 ou parcqu'il na pa trouvé une letre
si tu veu plus d'explication pas de probleme
dans se cas il faut utilisé la fonction strchr... cette fonctionne permet de cherché un caractere dans une chaine,
je pense que c'est se qu'il te faut no ? si c'est le cas alors se qu'il fau faire
Valeur=false
i=0
while ((Chaine2[i]!='\0') && (valeur==false))
do {
if (strch(chaine1,Chaine2[i])==NULL) Valeur=true
else i++
}
et la tu devré testé sur Valeur pour savoir si il é sorti de l aboucle parce qu'il é arrivé a la fin de chaine2 ou parcqu'il na pa trouvé une letre
si tu veu plus d'explication pas de probleme