Algorithme

stdio -  
lami20j Messages postés 21331 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

3 réponses

lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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
stdio
 
je veux un algorithme et non un langage c,please.
0
lami20j Messages postés 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   3 570
 
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