Algorithme

Fermé
stdio - 17 déc. 2007 à 21:52
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 18 déc. 2007 à 14:30
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
A voir également:

3 réponses

lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
17 déc. 2007 à 22:46
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
je veux un algorithme et non un langage c,please.
0
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
18 déc. 2007 à 14:30
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