Алгоритми впорядкування табличних величин
МЕТОД ВИБІРКИ
Program up_repl;
Uses crt;
Const n =10; k1=10; k2=2*k1+1;
Type vec=array[1..n] of integer;
Var a,b,c :vec;
k,i,j,f,m :integer;
ch :char;
l :Boolean;
Begin
Repeat
ClrScr;
Randomize;
Write("Исходый масив a[i]=");
For i:=1 to n do
Begin
f:=Random(k2);
a[i]:=k1-f;
Write(a[i]:3);
End;
Writeln;
b:=a;
For k:=1 to n do
Begin
m:=100;
For i:=1 to n do
If m>b[i] then
begin
m:=b[i];j:=i;
end;
b[j]:=100; c[k]:=m
end;
Write("Впорядкований масив c[i]=");
For i:=1 to n do Write(c[i]:3);
Readln;
ch:=ReadKey;
Until ch=#27;
End.
МЕТОД БУЛЬБАШКИ
Program Bubble; {Сортування за зростанням} Const N=20; Var Mas:array[1..N] of integer; i,j:integer; {i,j - змінні циклу} Rez:integer; {Rez - додаткова змінна для обміну елементів масиву між собою} Begin For i:=1 to N do For j:=1 to N-1 do If Mas[j]>Mas[j+1] then Begin {Обмін елементів масиву через третю змінну} Rez:=Mas[j]; Mas[j]:=Mas[j+1]; Mas[j+1]:=Rez; End; End.
МЕТОД ВИБІРКИ
Program up_repl;
Uses crt;
Const n =10; k1=10; k2=2*k1+1;
Type vec=array[1..n] of integer;
Var a,b,c :vec;
k,i,j,f,m :integer;
ch :char;
l :Boolean;
Begin
Repeat
ClrScr;
Randomize;
Write("Исходый масив a[i]=");
For i:=1 to n do
Begin
f:=Random(k2);
a[i]:=k1-f;
Write(a[i]:3);
End;
Writeln;
b:=a;
For k:=1 to n do
Begin
m:=100;
For i:=1 to n do
If m>b[i] then
begin
m:=b[i];j:=i;
end;
b[j]:=100; c[k]:=m
end;
Write("Впорядкований масив c[i]=");
For i:=1 to n do Write(c[i]:3);
Readln;
ch:=ReadKey;
Until ch=#27;
End.
Немає коментарів:
Дописати коментар