Chaine de caractére
Fermé
nour
-
8 avril 2010 à 19:48
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 9 avril 2010 à 21:39
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 9 avril 2010 à 21:39
A voir également:
- Chaine de caractére
- Caractère ascii - Guide
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
- Chaine tnt gratuite sur mobile - Guide
- Plus de chaine tv - Guide
10 réponses
tatou_38
Messages postés
1928
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
5 août 2015
121
8 avril 2010 à 19:53
8 avril 2010 à 19:53
Tu n'arrive même pas à recopier l'énoncé de ton exercice sans faire de fautes ? C'est devenu complètement incompréhensible. Comment veux tu que l'on t'aide dans ces conditions ?
Lord Shoedsackovskaïa
Messages postés
163
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
19 novembre 2013
13
8 avril 2010 à 19:54
8 avril 2010 à 19:54
En quel langage veux-tu que l'on te programmes-ça ?
Si tu dois faire ce programme pour des cours, je ne vais pas te donner la solution, mais je peux te donner des conseils ;)
Si tu dois faire ce programme pour des cours, je ne vais pas te donner la solution, mais je peux te donner des conseils ;)
dsl voici l'énoncé .
Exo 2 : écrire 1 programme qui affiche le nombre de mots d'une phrase qui est donnée par une constante au début du programme.
1 -on décide que le nombre2 mots est le nombre d'espace +1.
2-reprendre 1 , on décide que plusieurs caractères espace qui se suivent sont équivalents à 1 seul .
3- reprendre 2, on décide qu'un espace en début ou en fin de phrase n'est pas à considérer.
Exo 2 : écrire 1 programme qui affiche le nombre de mots d'une phrase qui est donnée par une constante au début du programme.
1 -on décide que le nombre2 mots est le nombre d'espace +1.
2-reprendre 1 , on décide que plusieurs caractères espace qui se suivent sont équivalents à 1 seul .
3- reprendre 2, on décide qu'un espace en début ou en fin de phrase n'est pas à considérer.
le language est le c++.
j'aimrai b1 que vous me donnez des conseils pour que je puisse ecrire mon programme.
merci d'avance
j'aimrai b1 que vous me donnez des conseils pour que je puisse ecrire mon programme.
merci d'avance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tatou_38
Messages postés
1928
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
5 août 2015
121
8 avril 2010 à 20:46
8 avril 2010 à 20:46
Je comprends beaucoup mieux !
Déjà il te faut faire un peu d'algorithmique pour déterminer l'algorithme de calcul.
Ensuite il faut voir comment implémenter celà.
Il va y avoir du comptage de mots, ou de blancs, donc il va y avoir quelque part une boucle de comptage. C++, donc pense tout de suite à une boucle for( ; ; ) { }
Il va y avoir de la gestion de chaîne de caractères. En C++ tu peux utiliser les chaines basiques char *, mais ce serait mieux d'implémenter une classe "chaine de caractère" capable de faire différentes opérations, par exemple compter des blancs, fusionner des blancs, ...
Voilà pour te lancer !
Déjà il te faut faire un peu d'algorithmique pour déterminer l'algorithme de calcul.
Ensuite il faut voir comment implémenter celà.
Il va y avoir du comptage de mots, ou de blancs, donc il va y avoir quelque part une boucle de comptage. C++, donc pense tout de suite à une boucle for( ; ; ) { }
Il va y avoir de la gestion de chaîne de caractères. En C++ tu peux utiliser les chaines basiques char *, mais ce serait mieux d'implémenter une classe "chaine de caractère" capable de faire différentes opérations, par exemple compter des blancs, fusionner des blancs, ...
Voilà pour te lancer !
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
8 avril 2010 à 21:58
8 avril 2010 à 21:58
Bonjour,
Sinon au lieu d'utiliser char* tu peux utiliser la classe string qui contient déjà pas mal d'opération ;-).
Cdlt,
Sinon au lieu d'utiliser char* tu peux utiliser la classe string qui contient déjà pas mal d'opération ;-).
Cdlt,
tatou_38
Messages postés
1928
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
5 août 2015
121
8 avril 2010 à 22:48
8 avril 2010 à 22:48
Bien sûr mais Nour apprendrait plus en écrivant elle même la classe string ! C'est pour cela que je n'avais parlé que de char * qu'elle pourrait intelligemment encapsuler dans une classe idoine !
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
8 avril 2010 à 23:07
8 avril 2010 à 23:07
Je suis d'accord avec toi. Mais si c'est pour apprendre, autant programmer en C. Puisque faire tout ce qu'il a demandé sans utiliser string, ça sera du C (enfin presque).
tatou_38
Messages postés
1928
Date d'inscription
vendredi 21 avril 2006
Statut
Membre
Dernière intervention
5 août 2015
121
9 avril 2010 à 07:27
9 avril 2010 à 07:27
non si elle réécrit la classe string, le seul point où il y avait quelque chose à apprendre en C++
Lord Shoedsackovskaïa
Messages postés
163
Date d'inscription
mardi 3 novembre 2009
Statut
Membre
Dernière intervention
19 novembre 2013
13
9 avril 2010 à 07:34
9 avril 2010 à 07:34
Désolé pour cette fois j'ai Code::Blocks qui déconne et je ne suis pas un pro en C++
#include<stdio.h>
void main ()
{char ch[15];
int i,j=0;
for(i=0;i<=15;i++)
{
if(ch[i]=='/0')
j++}
for(i=0;i<15;i++)
{if (ch[i]=='/0')
while(ch[i]=='/0')
c tous ce que j'ai pu .
void main ()
{char ch[15];
int i,j=0;
for(i=0;i<=15;i++)
{
if(ch[i]=='/0')
j++}
for(i=0;i<15;i++)
{if (ch[i]=='/0')
while(ch[i]=='/0')
c tous ce que j'ai pu .
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
9 avril 2010 à 21:39
9 avril 2010 à 21:39
Bonjour,
Tout d'abord, ton code ce n'est pas du C++ mais du C. En C++, on utilise iostream.
Donc, on va continuer plutôt sur du C.
Ensuite, ce n'est pas void main(), le prototype de main sans argument mais : int main(void)
Ensuite, je te conseille dans ce programme de faire 3 fonctions (une fonction par exercice).
Par exemple :
Voilà, je t'ai donné la structure. A toi de remplir ;-)))
Tout d'abord, ton code ce n'est pas du C++ mais du C. En C++, on utilise iostream.
Donc, on va continuer plutôt sur du C.
Ensuite, ce n'est pas void main(), le prototype de main sans argument mais : int main(void)
Ensuite, je te conseille dans ce programme de faire 3 fonctions (une fonction par exercice).
Par exemple :
#include <stdio.h> int compte1(const char* chaine) { /*je compte le nombre d'espace et j'augmente de 1*/ int i; int res=0; for(i=0; chaine[i]!='\0'; i++) { ... } return res+1; } int compte2(const char* chaine) { ... } int compte3(const char* chaine) { ... } int main(void) { const char* chaine = "voici une phrase longue"; printf("1ere méthode : il y a %d mots\n",compte1(chaine)); printf("1ere méthode : il y a %d mots\n",compte2(chaine)); printf("1ere méthode : il y a %d mots\n",compte3(chaine)); return 0; }
Voilà, je t'ai donné la structure. A toi de remplir ;-)))