séquence des voyelles
Forum INFOMATH :: Enseignement de l'informatique :: INFO - Supérieur (Etudiants et Professionnels) :: C/C++
Page 1 sur 2•
Page 1 sur 2 • 1, 2 
séquence des voyelles
développer un programme qui permet de saisir une séquence de lettres (pas nécessairement toutes en miniscule ou en majuscule) et d'afficher la longueur de la sous-séquence des voyelles la plus longue.
mosa- Modérateur




- Messages : 635
Inscrit le : 11 Nov 2007
Age : 22
Localisation : los angeles
Feuille de personnage
Capacité linguistique:


(995/1000)
Re: séquence des voyelles
oh! c'est assez dur. Un bon exercice pour s'entrainer et s'échauffer. Toutefois, pourquoi vous avez choisi de le mettre dans la rubrique INFO-Supérieur ? Pourquoi pas dans INFO-Lycée? 

informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix- Membre fondamental

- Messages : 350
Inscrit le : 19 Mar 2007
Feuille de personnage
Capacité linguistique:


(1000/1000)
Re: séquence des voyelles
Je dirai que l'énoncé n'est pas assez clair.
Comment connaitre le début ou la fin d'une sous séquence ?
Comment connaitre le début ou la fin d'une sous séquence ?
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: séquence des voyelles
Je crois que c'est clair manianis:
Une chaine qui ne concerne dans cet exercice, est toute chaine qui contient uniquement des voyelles.
On avance, caractère par caractère, là où on trouve une voyelle on annonce le début d'une éventuelle solution. Là où on détecte une "non-voyelle", on annonce la fin de la solution candidate.
Une chaine qui ne concerne dans cet exercice, est toute chaine qui contient uniquement des voyelles.
On avance, caractère par caractère, là où on trouve une voyelle on annonce le début d'une éventuelle solution. Là où on détecte une "non-voyelle", on annonce la fin de la solution candidate.
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1906
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: séquence des voyelles
je veux dire que j'ai pas la solution de ce problème et je l'ai proposé pour que l'on résout ensemble,
si par exemple la séquence est la suivante
bfgdKjGaeiouykjlmoisPMCX
donc aeiouy est la sous séquence des voyelles la plus longue
pour connaître son début, on teste si le caractère est a ou e ou i ou o ou u ou y.
c'est ça ou non
si par exemple la séquence est la suivante
bfgdKjGaeiouykjlmoisPMCX
donc aeiouy est la sous séquence des voyelles la plus longue
pour connaître son début, on teste si le caractère est a ou e ou i ou o ou u ou y.
c'est ça ou non
mosa- Modérateur




- Messages : 635
Inscrit le : 11 Nov 2007
Age : 22
Localisation : los angeles
Feuille de personnage
Capacité linguistique:


(995/1000)
Re: séquence des voyelles
oui: c'est correct l'exemple que tu as posté.
Je vais essayer de trouver une solution et l'implémenter en PASCAL. RDV après quelques minutes (inchallah)
Je vais essayer de trouver une solution et l'implémenter en PASCAL. RDV après quelques minutes (inchallah)
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1906
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: séquence des voyelles
- Code:
program plusLgSequenceV;
uses wincrt;
(* fontion: vérifie si une lettre est voyelle ou non *)
function isVowel(c: char):boolean;
begin
isVowel := (Upcase(c)='A') or (Upcase(c)='E') or (Upcase(c)='I') or
(Upcase(c)='O') or (Upcase(c)='U') or (Upcase(c)='Y');
end;
(* fonction: retourne la plus longue séquence de voyelles *)
function getLonguestSeqV(ch:string):string;
var
curSeq : string; (* la séquence en cours de construction *)
lgSeq : string; (* la plus longue séquence trouvée *)
i :integer;
begin
lgSeq := '' ;
curSeq := '' ;
for i:=1 to length(ch) do
begin
if (isVowel(ch[i])) then
curSeq := curSeq + ch[i]
else
begin
if (length(curSeq)>length(lgSeq)) then
lgSeq := curSeq;
curSeq := '';
end;
end;
if (length(curSeq)>length(lgSeq)) then
lgSeq := curSeq;
getLonguestSeqV := lgSeq;
end;
(* PROGRAMME PRINCIPAL *)
VAR
chaine: string;
BEGIN
write('Donner une séquence de lettres: ');
readln(chaine);
Write('Plus longue séq de VoyL: ',getLonguestSeqV(chaine));
END.
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1906
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: séquence des voyelles
Excellente solution. Peut-on faire mieux??? point de vue Complexité Algorithmique!
Sami - Methodix, tunis
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)
Le génie de Newton a consisté à dire que la lune tombe alors que tout le monde voit bien qu'elle ne tombe pas.
(Paul Valéry)

methodiX- Admin


- Messages : 811
Inscrit le : 22 Mar 2007
Localisation : marsa - IPEST
Feuille de personnage
Capacité linguistique:


(1000/1000)
Re: séquence des voyelles
Bon programme Nabil.
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: séquence des voyelles
- Code:
if (length(curSeq)>length(lgSeq)) then
lgSeq := curSeq;
curSeq := '';
end;
end;
if (length(curSeq)>length(lgSeq)) then
lgSeq := curSeq;
getLonguestSeqV := lgSeq;
end;
pourquoi la même if...then se répète deux fois?
mosa- Modérateur




- Messages : 635
Inscrit le : 11 Nov 2007
Age : 22
Localisation : los angeles
Feuille de personnage
Capacité linguistique:


(995/1000)
Re: séquence des voyelles
La boucle for ... to pourra se terminer alors que le test s'il s'agit de la plus longue séquence n'a pas été exécuté.
Exemple :
iuytrrrrroiuyoiuyoiuy
si vous ne faites pas ce test le programme considérera iuy comme étant la séquence la plus longue.
Exemple :
iuytrrrrroiuyoiuyoiuy
si vous ne faites pas ce test le programme considérera iuy comme étant la séquence la plus longue.
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: séquence des voyelles
manianis a écrit:La boucle for ... to pourra se terminer alors que le test s'il s'agit de la plus longue séquence n'a pas été exécuté.
Exemple :
iuytrrrrroiuyoiuyoiuy
si vous ne faites pas ce test le programme considérera iuy comme étant la séquence la plus longue.
mosa:C'est exactement ça.
Essaie de l'enlever, la deuxième IF, et tu verras que si la plus longue séquence est située à la fin, elle va être ignorée.
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1906
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: séquence des voyelles
on n'a souvent parlé de complexité dans notre forum 
alors, quelle est la complexité du programme proposé par NabiL ?
alors, quelle est la complexité du programme proposé par NabiL ?
informix, Ecole d'ingénieurs
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.
Les passions font vivre l'Homme; sa sagesse le fait seulement durer.

informix- Membre fondamental

- Messages : 350
Inscrit le : 19 Mar 2007
Feuille de personnage
Capacité linguistique:


(1000/1000)
Re: séquence des voyelles
La complexité de votre algoithme est O(n). elle dépend uniquement du nombre de caractères dans la chaine de caractères.
manianis- Admin


- Messages : 976
Inscrit le : 10 Oct 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Re: séquence des voyelles
C'est à peu près comme la recherche du plus grand élément dans un tableau: il faut parcourir tout le tableau. C'est en O(n) la complexité.
NB: O(n) ne veut pas dire "n"
NB: O(n) ne veut pas dire "n"
Nabil - tunis
خير الناس أنفعهم للناس
خير الناس أنفعهم للناس

nabiL- Admin


- Messages : 1906
Inscrit le : 19 Mar 2007
Localisation : Tunisie
Feuille de personnage
Capacité linguistique:


(999/1000)
Page 1 sur 2 • 1, 2 



