[Algo]
fonction CompterDoublonsV1 (Chaine : in string) renvoie entier_naturel
debut
si (taille(Chaine) < 2) renvoie 0;
declarer Compt : entier_naturel;
Compt <- 0;
declarer i : entier_naturel;
i <- 1;
tant_que (i < taille (Chaine))
faire
si (NON isspace (Chaine [i]) ET_ALORS Chaine [i] vaut Chaine [i-1])
Compt <- Compt +1;
i <- i + 1;
fsi
i <- i + 1;
ffaire
renvoie Compt;
fin
algorithme Nb_de_Doublons
debut
boucle
// Saisie
declarer LigneLue : string;
afficher (“Entrer une string (ligne vide pour sortir) : “);
saisir (LigneLue);
si (taille (LigneLue) vaut 0) sortie;
// La ligne traitée est non vide
// Comptage
declarer NbreDoublons : entier_naturel;
NbreDoublons <- CompterDoublonsV1 (LigneLue);
// Affichage
afficher (LigneLue);
ligne_suivante;
afficher (“Nombre de doublons : “, NbreDoublons);
ligne_suivante;
fboucle
fin
[/Algo]