Documente Academic
Documente Profesional
Documente Cultură
Subalgoritm Selecţie(n,a)
1: pentru i=1, n-1 execută:
2: min = a[i]
3: pentru j=i+1, n execută:
4: dacă min > a[j] atunci
5: min = a[j]
6: k = j Sfd 4: Sfp 3:
7: dacă min <> a[i] atunci
8: aux = a[i]
9: a[i] = a[k]
10: a[k] = aux Sfd 7: Sfp 1:
Subalgoritm Selecţie(n,a)
1: pentru i=1, n-1 execută:
2: pentru j=i+1, n execută:
3: dacă a[i] > a[j] atunci
4: aux = a[i]
5: a[i] = a[j]
6: a[j] = aux sfd 3: sfp 2: sfp 1:
Program Pascal:
program metoda_selectiei;
uses crt;
var a:array[1..50] of integer;
n,i,j,min,t,k:integer;
Begin
clrscr;
write('Introdu dimensiunea tabloului A , n= ');
readln(n);
for i:=1 to n do
begin
write('a[',i,']= ');
readln(a[i]);
end;
writeln;
writeln('Tabloul A :');
for i:=1 to n do
write(a[i]:4);
writeln;
for i:=1 to n-1 do begin
min:=a[i];
t:=i;
for j:=i+1 to n do begin
if a[j]<min then
begin
min:=a[j];
t:=j;
end;
k:=a[i];
a[i]:=a[t];
a[t]:=k;
end;end;
writeln('Tabloul A crescator :');
for i:=1 to n do
write(a[i]:4);
readkey; end.