Besoin d'aide pour écrire 1 programme en c++

[Résolu]
Signaler
Messages postés
88
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
30 août 2012
-
Messages postés
88
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
30 août 2012
-
Bonjour,

je doit ecrire un programme en c++ qui va compter le nombre de "e" dans un mot pour l'instant je n'ais fais que la moitié du programme car je bloque a un moment, j'ai juste rajouter quelque ligne "cout<<" qui me servent juste a voir si c'est le bon résultat en attendant la suite du programme. merci d'avance à ceux qui vont m'aider....

#include <string>
#include
using namespace std;
float lesE (int);

int main (){

int nbe;
cout<< lesE (nbe);



system ("pause");
return 0;
}
float lesE(int nbe){
nbe=0;
int i;
string extrait;
int longueurChaine;
string maChaine; //defini maChaine comme chaine de caractere
cout<< "entrez un mot"<<endl;
cin>>maChaine;
cout<<maChaine<<endl;// le mot est ici
longueurChaine = maChaine.length();//calcul la longueur du mot
cout<<longueurChaine<<endl;
for (i=0; i== longueurChaine ; i++){
string extrait = maChaine.substr(i,1);
if (extrait != "e"){
nbe = nbe+1;

}
cout<<nbe;
}
return nbe;
}

4 réponses

Messages postés
276
Date d'inscription
lundi 8 septembre 2008
Statut
Membre
Dernière intervention
15 avril 2013
2
Bonjour,

for(i=0;i<longueurchaine;i++)
nbe += (machaine[i]=='e');
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
29
int compteE(char *psz)
{
char a;
int i = 0;
while(a *psz++) if(a 'e') i++;
return i;
}

avec ce genre de daube:
string extrait = maChaine.substr(i,1);
on finit par faire encore plus lent que du VB ou autre pseudo langage interprété, sans parler du fait que l'espace mémoire du prog ressemblera à un gruyère.

ciao...
BruNews, MVP VC++
Messages postés
3833
Date d'inscription
dimanche 12 décembre 2004
Statut
Modérateur
Dernière intervention
11 juin 2021
122
Les conteneurs de la STL font tous pour toi:

#include 
#include 

int main()
{
  std::string maChaine;
  std::cout << "Entrez un mot: " << std::endl;
  std::cin >> maChaine;

  std::cout << "Il y a "
    << std::count(maChaine.begin(), maChaine.end(), 'e')
    << " e" << std::endl;

  return 0;
}
Messages postés
88
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
30 août 2012

merci à tous pour m'avoir répondu et merci à ed73 pour ça solution répondant exactement à ma question !