program ex2;
const
dim = 20;
type
tab = array[1..dim] of integer;
var
t: tab;
i: integer;
function tirage (min, max: integer): integer; { Mac
}
begin
tirage := min + random(max - min);
end; { Fin de
'tirage' }
procedure genere_tab (n: integer; var t: tab);
begin
t[n] := tirage(100, 200);
if n > 1 then
genere_tab(n - 1, t);
end; { Fin de
'genere_tab' }
procedure affiche_tab (ta: tab; d: integer);
begin
if d > 1 then
begin
affiche_tab(ta, d - 1);
end;
write(ta[d] : 0, ',');
end; { Fin de
'affiche_tab' }
procedure permut (var t: tab; i, j: integer);
var
aux: integer;
begin
aux := t[i];
t[i] := t[j];
t[j] := aux;
end; { Fin de
'permut' }
function indicemin_tab (t: tab; d, f: integer):
integer;
var
i, min: integer;
begin
min := d;
for i := d to f do
if t[min] > t[i] then
min := i;
indicemin_tab := min;
end; { Fin de
'indicemin_tab' }
procedure
Tri_tab (var t: tab; i, d:
integer);
begin
permut(t, i, indicemin_tab(t, i, d)); {
on peut aussi faire un test pour permuter que lorsque c'est
nécessaire }
if i < d then
Tri_tab(t, i + 1, d);
end; { Fin de
'Tri_tab' }
begin { corps du
programme }
randomize;
writeln('Exercice 2 TD7 www.Software-DS.com');
writeln;
genere_tab(dim, t);
affiche_tab(t, dim);
writeln;
writeln;
Tri_tab(t, 1, dim);
writeln('Le tableau est trie:');
writeln;
affiche_tab(t, dim);
writeln;
writeln;
writeln('©2001 All Rights Reserved to
www.Software-DS.com');
{ ©2001 All
Rights Reserved to http://www.Software-DS.com
20/11/01 }
end.
|