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

  FORUM HardWare.fr
  Programmation
  C

  exerice langage C a resoudre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

exerice langage C a resoudre

n°2277056
khalilab
Posté le 05-03-2016 à 21:17:44  profilanswer
 

Bonjour
 
j'aimerais bien savoir comment rédiger un programme en langage C permettant de calculer le nombre des mots saisis (et séparés avec un ou plusieurs espaces) dans une phrase terminée par un point sans utiliser l'instruction chaine (ça je sais comment la faire) mais juste avec l'instruction boucle et if else si c'est nécessaire.
 
Exemple
entrée : le monde est petit.
sortie : le nombre des mots est : 4
 
cordialement

mood
Publicité
Posté le 05-03-2016 à 21:17:44  profilanswer
 

n°2277058
rat de com​bat
attention rongeur méchant!
Posté le 05-03-2016 à 22:11:49  profilanswer
 

Citation :

l'instruction chaine


Qu'entends tu par ceci?

n°2277060
khalilab
Posté le 06-03-2016 à 00:06:27  profilanswer
 

La réponse à ma question en utilisant l'instruction chaine se fait comme ceci :  
 

Code :
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. int main()
  4. {
  5. char str[200];
  6. int w=0,i=0;
  7. printf("Ecrivez votre phrase : " );
  8. gets(str);
  9. for(i=0;str[i]!='\0';i++)
  10. {
  11. if(str[i]!=' '&&str[i]!='\t')
  12. {
  13. w++;
  14. while(str[i]!=' '&&str[i]!='\t')
  15. i++;
  16. }
  17. }
  18. printf("Le nombre des mots est %d",w);
  19.     return 0;
  20. }


 
et je demande si c'est possible de réaliser un tel programme juste if les boucke et if else sans utiliser la chaine


Message édité par gilou le 06-03-2016 à 00:29:44
n°2277089
rat de com​bat
attention rongeur méchant!
Posté le 06-03-2016 à 19:23:23  profilanswer
 

Déjà à mon avis il faut oublier le mot instruction, cela n'a de sens qu'en language assembleur. On peut parler de structures de contrôle peut-être et "l'instruction chaîne" c'est simplement la syntaxe utilisée comme ça a été défini quand le language C a été inventé.
 
Pour répondre à ta question on peut remplacer array[index] par *(array+index) mais cela revient au même au final, c'est juste une autre façon d'écrire...
 
Concernant ton code, attention à l'indentation essentielle pour s'y retrouver (enfin je suppose que c'est un problème de copier-coller).

n°2277135
gilou
Modérateur
Modzilla
Posté le 07-03-2016 à 15:49:58  profilanswer
 

C'est dans ces cas la qu'on apprécie le C++:
 

Code :
  1. #include <string>
  2. #include <iostream>
  3. int main()
  4. {
  5.     std::string word;
  6.     int nb_words = 0;
  7.     std::cout << "Ecrivez votre phrase : " << std::flush;
  8.     while (std::cin.peek() != '\n') {
  9.         std::cin >> word;
  10.         if (!std::cin) break;
  11.         ++nb_words;
  12.     }
  13.     std::cout << "Le nombre des mots est " << nb_words << std::endl;
  14.     return 0;
  15. }


 
A+,


---------------
There's more than what can be linked! --    Iyashikei Anime Forever!    --  AngularJS c'est un framework d'engulé!  --
n°2277139
rat de com​bat
attention rongeur méchant!
Posté le 07-03-2016 à 18:41:54  profilanswer
 

Code :
  1. perl -e "print split(/ +/,<> )+0;"

:o


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

  exerice langage C a resoudre

 

Sujets relatifs
[C / C#] Exécuter un fichier C sans le compiler[PHP] Besoin d'aide pour résoudre un message d'erreur
[Qt][QML] QObject du C++ vers le QML: gestion mémoire[C#] Impression PDF
Map C# et stockageChoix du langage...
Lecture et ecriture d'une image pgm en Cintégrer le bonhomme du pendu au jeu du pendu en C
Ecrire totalité des resultats d'un programme dans un fichier en C[C] Problème d'affichage dans le résultat de ma fonction C
Plus de sujets relatifs à : exerice langage C a resoudre


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