прямого вибору, метод прямої вставки).
Мета уроку: Навчити розв’язувати задачі, що потребують для свого розв’язання впорядкування масивів.
Program Example_339_l;
Uses crt;
Const N = 100;
Type Masiv = array[1..N] of real;
Var A,B:Masiv; {A — масив для зберігання початкової послідовності, В — відсортований масив}
і,j,count:byte; {i,j — змінні циклу, count — кільхість елементів, що залишились на своїх місцях)
Max:real; {Мах — максимальний елемент підмасиву}
N_max:byte; {N_max — номер максимального елементу}
Begin Randomize;
Clrscr;
For i:=1 to N do
Begin A[i]:=random*100-random*50; Write<A[i]:8:2); End;
B:=A; {Копіювання елементів масиву А в масив В}
For i:=1 to N-1 do
Begin
Max:=B[i]; {Зберігання еталону максимуму}
N_Max:=i; {Зберігання номера максимуму}
For j:=i+1 to N do
If B[j]>Max then
begin
Max:=B[j]; {Перевизначення еталону}
N_Max:=j; {Зберігання номеру еталону}
end;
{Обмін місцями мінімуму та першого елементу підмасиву}
B[N_Max]:=В[і]; В[і]:=Мах;
End;
count:=0;
For і:»1 to N do
Begin
If A[i]=B[i]
then count:=count+1;
End;
Writeln;
Writeln(‘Кількість елементів, що не змінили місця ‘ ,count) ;
Readkey;