Home Exercices Exercices et problèmes de révisions Occurences des voyelles dans une chaîne de caractère
Bookmark and Share

Liens sponsorisés

Occurences des voyelles dans une chaîne de caractère Print E-mail
Written by Administrator   
Friday, 06 March 2009 14:30
   
Enoncé de l'exercie
Ecrire un programme intitulé OCCURENCE qui permet de saisir une chaîne de caractères CH puis d'afficher les occurences des voyelles qui figurent dans CH.
Exemple :
Si CH='LYCEE 25 juillet'
Le programme OCCURENCE affichera les résultats suivants :
L'occurence de 'E' est 3
L'occurence de 'I' est 1
L'occurence de 'U' est 1
L'occurence de 'Y' est 1

NB: La solution doit comporter au moins deux sous programmes.

Solution en Pascal
{ pour resoudre ce problème on va:
- utiliser un tableau t d'entiers et d'indice les caractères majuscules
- la fonction Upcase qui permet de convertir une lettre en majuscule
- la procedure init qui permet d'intialiser les élément de t a zéro
- la procedure remplir qui remplit t par les occurences de chaque voyelle de ch
- et enfin la procedure afficher qui affiche les occurences de chaque voyelle de ch}
program occurence;
uses wincrt;
type tab=array['A'..'Y'] of integer;
var t:tab;
ch:string;

{ initialiser tous les éléments de t à zéro }

procedure init(var T:tab);
var c:char;
begin
for c:='A' to 'Y' do
t[c]:=0;
end;

{ remplir les cases d'indice voyelle par leurs occurences dans ch }

procedure remplir(var t:tab;ch:string);
var i:integer;
begin
for i:=1 to length(ch) do
if(upcase(ch[i]) in ['A','E','I','O','U','Y'])then
T[upcase(ch[i])]:=T[upcase(ch[i])]+1;
end;

{ afiicher le contenu de t avec son indice }

procedure afficher(t:tab);
var c:char;
begin
for c:='A' to 'Y' do
if(T[c]>0)then
writeln('L''occurences de ''',c,'''est ',T[c]);
end;

{ ** programme principal ** }

begin
read(ch);
init(t);
remplir(t,ch);
afficher(t);
end.
 

 

Liens sponsorisés