C++
Résolu
sanaa1
Messages postés
64
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
20 septembre 2008
-
2 janv. 2008 à 21:06
mamiemando Messages postés 33670 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 15 mai 2025 - 3 janv. 2008 à 10:11
mamiemando Messages postés 33670 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 15 mai 2025 - 3 janv. 2008 à 10:11
4 réponses
sanaa1
Messages postés
64
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
20 septembre 2008
6
2 janv. 2008 à 22:16
2 janv. 2008 à 22:16
slt
qql pourrait m'aider ?svp
qql pourrait m'aider ?svp
mamiemando
Messages postés
33670
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
15 mai 2025
7 852
2 janv. 2008 à 23:50
2 janv. 2008 à 23:50
Bah en fait c'est plutôt on t'a donné la solution alors ?
Enfin peu importe. Le principe c'est de parcourir la phrase entrée par l'utilisateur (t). A noter que si la phrase fait plus de 50 caractères le programme plante.
Il suffit ensuite de parcourir t du début à la fin (\0). La suite est codée de manière assez étrange... en particulier je ne comprends pas trop pourquoi il y a des états (et en plus c'est pas indenté). Visiblement i correspond au caractère courant, etat = 1 à "mot en cours de lecture, etat = 2 à "mot lu", et num compte le nombre de mots lus.
En fait le programme serait beaucoup plus simple (et lisible) en utilisant la fonction strtok.
http://www.cplusplus.com/reference/cstring/strtok/
En gros ca donne :
ce qui est à mon humble avis un poil plus lisible...
Bonne chance
Enfin peu importe. Le principe c'est de parcourir la phrase entrée par l'utilisateur (t). A noter que si la phrase fait plus de 50 caractères le programme plante.
Il suffit ensuite de parcourir t du début à la fin (\0). La suite est codée de manière assez étrange... en particulier je ne comprends pas trop pourquoi il y a des états (et en plus c'est pas indenté). Visiblement i correspond au caractère courant, etat = 1 à "mot en cours de lecture, etat = 2 à "mot lu", et num compte le nombre de mots lus.
En fait le programme serait beaucoup plus simple (et lisible) en utilisant la fonction strtok.
http://www.cplusplus.com/reference/cstring/strtok/
En gros ca donne :
#include <cstring> #include <iostream> int main (){ const char *sep = " "; char str[] = "je pense donc je suis"; char *pch = strtok(str,sep); for(unsigned i = 0 ; pch != NULL ; ++i){ std::cout << "mot " << i << '\t' << pch << std::endl; pch = strtok (NULL,sep); } return 0; }
ce qui est à mon humble avis un poil plus lisible...
Bonne chance
sanaa1
Messages postés
64
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
20 septembre 2008
6
3 janv. 2008 à 00:02
3 janv. 2008 à 00:02
salut
ok.........je pense que j'ai compris un peu ,merci bcp pour ta reponse
ok.........je pense que j'ai compris un peu ,merci bcp pour ta reponse
mamiemando
Messages postés
33670
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
15 mai 2025
7 852
3 janv. 2008 à 10:11
3 janv. 2008 à 10:11
Ok bonne continuation :-)