Indiquer combien de fois la lettre a été trouvée dans le mot
Fermé
dav-1994
Messages postés
107
Date d'inscription
samedi 19 juillet 2008
Statut
Membre
Dernière intervention
9 juin 2015
-
Modifié par Whismeril le 7/08/2015 à 23:15
VanDog Messages postés 63 Date d'inscription vendredi 17 juillet 2015 Statut Membre Dernière intervention 11 février 2016 - 18 juil. 2015 à 01:39
VanDog Messages postés 63 Date d'inscription vendredi 17 juillet 2015 Statut Membre Dernière intervention 11 février 2016 - 18 juil. 2015 à 01:39
A voir également:
- Indiquer combien de fois la lettre a été trouvée dans le mot
- Dans le texte, un seul mot a réellement été écrit en lettres capitales (majuscules). quel est ce mot ? ✓ - Forum Word
- Ce programme est écrit en python. il construit un mot secret dans une variable mais il ne l'affiche pas. modifiez-le pour qu'il affiche le mot secret. exécutez-le. quel est ce mot secret ? ✓ - Forum Python
- Mot de passe administrateur freebox ✓ - Forum Freebox
- Triez la liste comme sur cette illustration (attention, on ne voit que le début …). quel est le mot formé par les 6 dernières lettres de la colonne code ? - Forum Excel
- Le fichier contient une liste de prénoms. triez ce tableau par ordre alphabétique des prénoms. quel mot est formé par les 6 premières lettres de la colonne code ? - Forum Bureautique
2 réponses
VanDog
Messages postés
63
Date d'inscription
vendredi 17 juillet 2015
Statut
Membre
Dernière intervention
11 février 2016
13
Modifié par Whismeril le 7/08/2015 à 23:15
Modifié par Whismeril le 7/08/2015 à 23:15
Nous sommes dans le forum C++, je me permet donc te montrer une solution en C++ car ton code me semble plus être proche du C (j'y connais trop peu pour t'aider dans ce contexte).
Partons sur le parcourt d'un string pour compter le nombre de fois que la lettre arrive, j'utiliserai la méthode : tolower décite ici
Cela te convient-il ?
Edit suppression de la signature contraire à la charte
Partons sur le parcourt d'un string pour compter le nombre de fois que la lettre arrive, j'utiliserai la méthode : tolower décite ici
http://www.cplusplus.com/reference/cctype/tolower/.
// Je te laisse faire l'affichage utilisateur
std::string mot;
std::cin >> mot;
char lettreVoulue;
std::cin >> lettreVoulue;
lettreVoulue = tolower(lettreVoulue) // on la prend forcément minuscule pour faciliter
int compte = 0; // le résultat recherché
// C++11
for ( char lettre : mot )
{
// Autrement
int taille = mot.size();
for( int i(0) ; i < taille; ++i)
{
char lettre = mot[i];
// Quoi qu'il en soit ça c'est commun
if (lettre == lettreVoulue || lettre == lettreVoulue + 32 )
{
compte ++;
}
} // fin pour
Cela te convient-il ?
Edit suppression de la signature contraire à la charte
VanDog
Messages postés
63
Date d'inscription
vendredi 17 juillet 2015
Statut
Membre
Dernière intervention
11 février 2016
13
Modifié par Whismeril le 7/08/2015 à 23:15
Modifié par Whismeril le 7/08/2015 à 23:15
Autrement, ton code (qui me paraît pas forcément des mieux construits mais tu ne viens pas pour ça ^^) dit :
or strcmp(str1, str2) compare littéralement les deux string.
strcmp( "test", "p") renvoie un nombre positif
strcmp( "test", "a") renvoie un nombre négatif
strcmp( "test", "test") renvoie zéro
d'après :
Dès lors, je pense que ce que tu voulais faire est plutôt :
ce qui revient à comparer deux char, donc pourquoi pas utiliser l'
Edit suppression de la signature contraire à la charte
if(strcmp((m),(l))==0)
{
nombre_de_lettre++;
}
or strcmp(str1, str2) compare littéralement les deux string.
strcmp( "test", "p") renvoie un nombre positif
strcmp( "test", "a") renvoie un nombre négatif
strcmp( "test", "test") renvoie zéro
d'après :
http://www.cplusplus.com/reference/cstring/strcmp/
Dès lors, je pense que ce que tu voulais faire est plutôt :
if(strcmp((m[i]),(l))==0) // utilisant le i de la boucle for
{
nombre_de_lettre++;
}
ce qui revient à comparer deux char, donc pourquoi pas utiliser l'
opérateur ==directement ? ^^
Edit suppression de la signature contraire à la charte