alouizeineb Nouveau


Inscrit le : 04 Aoû 2007 Messages : 23
| Sujet: help , program fih faut Mar 11 Mar - 20:14 | |
| bonsoir
voila l'exercice
je suis proche du solution mais il y'a une faute que je ne le trouve pas , svp aider moi
soit un tableau T de n lettres majuscules (de A à Z ) , n étant un entier cmpris entre 5 et 25
on désire trier en ordre croissant les élements de T et les ranger dans un tableau V en utilisant le principe suivant :
1) chercher la plus petite lettre dans T
2)ranger cette lettre dans V
3) répéter n fois les étapes 1 et 2
on desire creer un programme pascal qui permet de saisir les elements du T , trier les elements de T
et d'afficher les element de V .
et c ça lprogram elli 3maltou , fih faute wa3333333333333333333
program exercice;
uses wincrt;
type
tab=array[1..25]of char;
var
n:integer;
v,t:tab;
procedure remplir (var n:integer;var t,v:tab);
var
i:integer;
begin
repeat
writeln('donner n ');
readln(n);
until n in [5..25] ;
repeat
for i :=1 to n do
begin
writeln('donner l''elment n',i);
readln (t[i]);
end;
until (t[i] in ['A'..'Z']);
end;
procedure tri (n:integer; t:tab; var v:tab);
var
min:char;
pos,k,i:integer;
begin
for k:=1 to n do
begin
min:=t[k];
pos:=1;
for i:=2 to n do
if t[i] <min then
begin
min:=t[i];
pos:=i;
end;
v[k]:=min ;
t[pos] :='a'
end;
end;
procedure affiche (n:integer;v:tab);
var
k:integer;
begin
for k:=1 to n do
write(t[k] ,' / ');
end;
begin
remplir(n,t,v);
tri(n,t,v);
affiche(n,v);
end.
|
|
alouizeineb Nouveau


Inscrit le : 04 Aoû 2007 Messages : 23
| Sujet: Re: help , program fih faut Lun 17 Mar - 20:48 | |
| | alouizeineb a écrit: |
program exercice;
uses wincrt;
type
tab=array[1..25]of char;
var
n:integer;
v,t:tab;
procedure remplir (var n:integer;var t,v:tab);
var
i:integer;
begin
repeat
writeln('donner n ');
readln(n);
until n in [5..25] ;
repeat
for i :=1 to n do
begin
writeln('donner l''elment n',i);
readln (t[i]);
end;
until (t[i] in ['A'..'Z']);
end;
procedure tri (n:integer; t:tab; var v:tab);
var
min:char;
pos,k,i:integer;
begin
for k:=1 to n do
begin
min:=t[k];
pos:=1;
for i:=2 to n do
if t[i]
begin
min:=t[i];
pos:=i;
end;
v[k]:=min ;
t[pos] :='a'
end;
end;
procedure affiche (n:integer;v:tab);
var
k:integer;
begin
for k:=1 to n do
write(v[k] ,' / ');
end;
begin
remplir(n,t,v);
tri(n,t,v);
affiche(n,v);
end.
|
j'ai le trouver
c la ligne en rouge  |
|