Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1264 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  problème pas clair (en tout cas pour moi :p )

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème pas clair (en tout cas pour moi :p )

n°345799
Umer
Posté le 27-03-2003 à 18:08:41  profilanswer
 

voila, ce programme est sensé me renvoyer le nombre de voyelle, je l'ai testé avec une chaine contenant 49 voyellles, mais il m'en renvoie 42.. je vois pas ou est le problème, si vous pouviez m'aider ça serait tres sympa.
 
#include <iostream>
#include <string>
 
#define NB_LETTRE 11
 
using namespace std;
 
int main()
{
  int k=0;
string chaine;
  char alphab[NB_LETTRE]={'a','A','e','E','i','I','o','O','u','U'};  
   
cin >> chaine;
 
size_t chaine_len = chaine.length();  
 
for(unsigned i=0;i<chaine_len;i++)
    {
     for(unsigned j=0;j!=NB_LETTRE-1;j++)
 {
   if(chaine[i]==alphab[j]) {k++;}
 }  
}
 cout << k <<'\n';
return 0;
}

mood
Publicité
Posté le 27-03-2003 à 18:08:41  profilanswer
 

n°345802
bobuse
Posté le 27-03-2003 à 18:15:02  profilanswer
 

ben moi ca marche  [:spamafote]  
T'as entre quelle chaine ?
 
Ha au fait

Code :
  1. char alphab[]={'a','A','e','E','i','I','o','O','u','U'};


suffit. Vu tu l'initialises, t'as pas besoin de mettre la taille
 
Ha oui et pense aux balises [cpp][/cpp] pour mettre du code


Message édité par bobuse le 27-03-2003 à 18:15:34

---------------
get amaroK plugin
n°345804
kadreg
profil: Utilisateur
Posté le 27-03-2003 à 18:16:51  profilanswer
 

C'est normal, il y a rien après 42
 
[:dehors]


Message édité par kadreg le 27-03-2003 à 18:17:01

---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°345811
bobuse
Posté le 27-03-2003 à 18:19:18  profilanswer
 

kadreg a écrit :

C'est normal, il y a rien après 42
 
 

:??:


---------------
get amaroK plugin
n°345812
Umer
Posté le 27-03-2003 à 18:21:16  profilanswer
 

ben en fait, c pour le concours prologin, moi j'ai testé sur quelques chaines et ça marchait, mais sur leur site il disent que le code est faux  :??:  :??:

n°345813
Umer
Posté le 27-03-2003 à 18:24:09  profilanswer
 

On vous donne une longue chaîne de caractères majuscules et minuscules, sans accents. Ecrire une fonction qui renvoie le nombre de voyelles qu'elle contient.
LIMITES DE TEMPS ET DE MEMOIRE
 
    * Temps : 1 s.
    * Mémoire : 1000 Ko.
 
CONTRAINTES
 
1 <= L <= 10000, où L est le nombre de lettres de la chaîne.
ENTREE
 
L'entrée contient deux lignes :
 
    * Le nombre de caractères de la chaîne.
    * La chaîne de caractères.
 
 
SORTIE
 
Vous devez écrire une ligne sur la sortie : le nombre de voyelles de la chaîne.
EXEMPLE(S) D'ENTREE / SORTIE
 
Exemple 1 :
en entrée ...
8
ProlOgiN
en sortie ...
3
COMMENTAIRES
 
Source C à compléter :
 
int CompteVoyelles(char* str)
{
}
 
int main()
{
   char str[10001];
   int size;
   int res;
   scanf("%d\n%s", &size, str);
   res = CompteVoyelles(str);
   printf("%d\n", res);
   return 0;
}
 
-----------------------------------------------------------
moi j'ai preféré le faire en C++, ca pose problème parce qu'il demande la taille de la chaine en entree .. alors que pour moi, cela me sert a rien, j'ai triché en faisait un :
 
[cpp]
 
int nb;
 
cin >> nb;
[/cpp)
 
et c tout

n°345821
gatorette
Posté le 27-03-2003 à 18:28:53  profilanswer
 

C'est peut être plus trop approprié à ta situation, mais voici une solution que je viens de faire (qui utilise basic_string::find_first_of) :

Code :
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4. int main(int argc, char* argv[])
  5. {
  6. const string voyelles( "aAeEiIoOuUyY" );
  7. string input;
  8. cin >> input;
  9. string::size_type pos = 0;
  10. string::size_type count = 0;
  11. while( true )
  12. {
  13. pos = input.find_first_of( voyelles, pos );
  14. if( pos == string::npos )
  15. break;
  16. pos++;
  17. count++;
  18. }
  19. cout << count << " voyelles trouvées !" << endl;
  20. return 0;
  21. }


---------------
each day I don't die is cheating
n°345825
Umer
Posté le 27-03-2003 à 18:31:56  profilanswer
 

argh mais je débute je le trouve dur à comprendre ton code !!! :sweat:

n°345830
bobuse
Posté le 27-03-2003 à 18:36:54  profilanswer
 

umer a écrit :

argh mais je débute je le trouve dur à comprendre ton code !!! :sweat:  


et ben ca te fait un bon exo !


---------------
get amaroK plugin
n°345833
Umer
Posté le 27-03-2003 à 18:39:46  profilanswer
 

j'ai rien compris à ces lignes
 

Code :
  1. int main(int argc, char* argv[])
  2. string::size_type pos = 0;
  3. string::size_type count = 0;
  4. pos = input.find_first_of( voyelles, pos );
  5. if( pos == string::npos )


 
je sais absolument pas à quoi ce refere ces fonctions, et les paramètres qu'on passe a la fonction main, quelqu'un peut-il eclairer ma lanterne ? merci de votre aide

mood
Publicité
Posté le 27-03-2003 à 18:39:46  profilanswer
 

n°345846
bobuse
Posté le 27-03-2003 à 18:50:54  profilanswer
 

Code :
  1. int main(int argc, char* argv[])


ben argv, c'est la liste des arguments, et argc le nombre d'arguments. Note qu'ils ne sont pas utilisés

Code :
  1. string::size_type pos = 0;
  2. string::size_type count = 0;


Ben la, il declare deux variables, qu'il initialise a 0

Code :
  1. pos = input.find_first_of( voyelles, pos );
  2. if( pos == string::npos )


la, il utilise une methode de la classe string qui lui renvoie l'index de la premiere voyelle dans la chaine a partir de la position pos. Et puis il verifie qu'une voyelle a bien ete trouvee, sinon c'est la fin
 
 [:spamafote]


---------------
get amaroK plugin

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  problème pas clair (en tout cas pour moi :p )

 

Sujets relatifs
Probleme de dateProgrammation GTK Linux , problème de #include
Trop de variables de session = problème ?problème sur message d'erreur java
[PHP]Problème récuperation fichier uploadé:open_basedir restriction...problème: html et metaname
[Java] Problème constaté avec 2 cartes réseau[PHP] probleme avec des pseudo frames...
problème jsp/java/tomcat[JAVA] - Projet d'orienté Objet - Problème clair & détaillé - Bloqué
Plus de sujets relatifs à : problème pas clair (en tout cas pour moi :p )


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR