|
Occurences des voyelles dans une chaîne de caractère |
|
|
|
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. |
|