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

Résolu
Flowneo Messages postés 88 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 30 août 2012 - 29 oct. 2009 à 17:13
Flowneo Messages postés 88 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 30 août 2012 - 2 nov. 2009 à 11:32
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

ed73 Messages postés 276 Date d'inscription lundi 8 septembre 2008 Statut Membre Dernière intervention 15 avril 2013 2
29 oct. 2009 à 17:56
Bonjour,

for(i=0;i<longueurchaine;i++)
nbe += (machaine[i]=='e');
3
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 oct. 2009 à 18:02
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++
0
cptpingu Messages postés 3837 Date d'inscription dimanche 12 décembre 2004 Statut Modérateur Dernière intervention 28 mars 2023 123
30 oct. 2009 à 10:20
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;
}
0
Flowneo Messages postés 88 Date d'inscription lundi 31 mars 2008 Statut Membre Dernière intervention 30 août 2012
2 nov. 2009 à 11:32
merci à tous pour m'avoir répondu et merci à ed73 pour ça solution répondant exactement à ma question !
0
Rejoignez-nous