Algorithme

stdio -  
lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   -
Bonjour,
please ,aidez moi à résoudre cet exercice qui m'as cassé la tête.
voici l'énoncé:
écrire un algorithme qui demande une phrase à l'utilisateur et qui affiche le nombre de mot de cette phrase,il peut y avoir plusieurs éspaces.

voici la solution que j'ai pu faire:
debut
var i ,Nm :entier
T(i) ,'-':caractére
répéter lire (T(i))
jusqu'à i='.'
pour i=0 à n-1 faire
répéter
si T(i)='-' alors
i reçoit i+1
fin si
jusqu'à (T(i)<>0) ou (i=n-1)
Nm reçoit Nm+1
fin pour
afficher("le nombre de mot est" ,Nm)
fin
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Salut,

    voici un exemple en C
    #include<stdio.h>
    
    #define DEDANS 1
    #define DEHORS 0
    
    int
    main ()
    {
      int c, test, nb_mots;
      test = DEHORS;
      nb_mots = 0;
    
      while ((c = getchar ()) != '\n')
        {
          if (c == ' ' || c == '\t')
            test = DEHORS;
          else if (test == DEHORS)
            {
              test = DEDANS;
              ++nb_mots;
            }
        }
      printf ("Vous avez %d mot(s).\n", nb_mots);
      return 0;
    }
    
    0
  2. stdio
     
    je veux un algorithme et non un langage c,please.
    0
  3. lami20j Messages postés 21506 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 571
     
    Ben, c'est un algorithme, sauf qu'il est écrit en C
    Voici la traduction
    Tant Que Le caractère n'est pas la fin de la ligne
       Si le caractère est espace ou tabulation
          Je ne suis pas dans un mot
       Si je ne suis pas dans un mot et je tape un caractère 
          Alors je suis au début d'un mot
          et je compte le mot
    
    Affiche le nombre de mots


    0