Описать процедуру Bell(A, N), меняющую порядок элементов вещественного массива на заданный - Pascal ABC
Формулировка задачи:
Описать процедуру Bell(A, N), меняющую порядок элементов вещественного массива A размера N на следующий: наименьший элемент массива располагается на
первом месте, наименьший из оставшихся элементов — на последнем, следующий по
величине располагается на втором месте, следующий — на предпоследнем и т. д. (в
результате график значений элементов будет напоминать колокол). Массив A является
входным и выходным параметром. С помощью этой процедуры преобразовать массивы
A, B, C размера Na, Nb, Nc соответственно.
Решение задачи: «Описать процедуру Bell(A, N), меняющую порядок элементов вещественного массива на заданный»
textual
Листинг программы
uses crt;
var x,y:array[1..100] of integer;
m,n,i,j,jmx:byte;
begin
clrscr;
randomize;
write('m=');readln(m);
writeln('Массив Х:');
for i:=1 to m do
begin
x[i]:=random(20);
write(x[i],' ');
end;
writeln;
writeln;
n:=m;
for i:=1 to m do
begin
jmx:=1;
for j:=1 to n do
if x[j]>x[jmx] then jmx:=j;
y[i]:=x[jmx];
for j:=jmx to n-1 do
x[j]:=x[j+1];
n:=n-1;
end;
writeln('Массив Y:');
for i:=1 to m do
write(y[i],' ');
readln
end.
Объяснение кода листинга программы
- Создаётся переменная
xтипаarray[1..100] of integer, которая будет использоваться для хранения исходного массива. - Задаётся начальное значение переменной
mравным 100. - Задаётся начальное значение переменной
nравнымm. - В цикле
forс индексом от 1 доmпроисходит следующее:- Переменная
x[i]инициализируется случайным числом от 0 до 20. - Выводится значение переменной
x[i]. - Переменная
nустанавливается равнойn-1.
- Переменная
- В цикле
forс индексом от 1 доmпроисходит следующее:- Переменная
jmxинициализируется значением 1. - Переменная
jинициализируется значением 1. - Если значение переменной
x[j]больше значения переменнойx[jmx]тоjmxустанавливается равнымj. - Значение переменной
y[i]устанавливается равным значению переменнойx[jmx]. - Переменная
nустанавливается равнойn-1.
- Переменная
- Выводится массив
y. - Программа завершается.