Выполнить ранжирование массива - Pascal ABC
Формулировка задачи:
В заданных границах посредством генератора случайных чисел создать одномерный массив в заданных границах.
Выполнить ранжирование массива от мала до велика и от большого к малому.
Создание одномерного массива посредством генератора случайных чисел: массив целого типа, количество элементов массива 50+№варианта. Диапазон чисел от
N= -(20+№ варианта) к K=+(20+№ варианта) находится по формуле.
"18 Вариант"
Сформировать массив каждый элемент которого равен соответствующему элементу исходного массива деленному на максимальный элемент.
Решение задачи: «Выполнить ранжирование массива»
textual
Листинг программы
const r=50+18; type msv=array[1..r] of integer; var i,k: byte; mas :msv; n,t: integer; begin n:=-38; writeln(' Исходный массив '); for i:=1 to r do begin mas[i]:=n+random(2*abs(n)+1); if i=1 then write('['); write(mas[i]:3); if i<r then write(',') else writeln(']'); if i mod 10 =0 then writeln; end; writeln; for i:=1 to r-1 do for k:=i to r do if mas[i]>mas[k] then begin t:=mas[i]; mas[i]:=mas[k]; mas[k]:=t; end; writeln(' Массив по возрастанию элементов'); for i:=1 to r do begin if i=1 then write('['); write(mas[i]:3); if i<r then write(',') else writeln(']'); if i mod 10 =0 then writeln; end; writeln; writeln(' Массив по убыванию элементов'); for i:=r downto 1 do begin if i=r then write('['); write(mas[i]:3); if i<=r then write(',') else writeln(']'); if i mod 10 =0 then writeln; end; writeln; writeln(' Новый массив'); for i:=1 to r do begin if i=1 then write('['); write(mas[i]/mas[r]:7:3); if i<r then write(',') else writeln(']'); if i mod 10 =0 then writeln; end; end.
Объяснение кода листинга программы
- Переменная
r
инициализируется значением 50+18, что равно 68. - Создается тип данных
msv
, который представляет собой массив целых чисел размером от 1 доr
. - Создается переменная
mas
типаmsv
. - Создаются две переменные
i
иk
типаbyte
. - Вычисляется значение переменной
n
как-38
. - Выводится сообщение «Исходный массив» и выводится массив
mas
с помощью циклаfor
. - В цикле
for
происходит заполнение массиваmas
случайными числами отn
доn+random(2*abs(n)+1)
. - Если
i
равно 1, то выводится[
, иначе выводитсяmas[i]:3
. - Если
i
меньшеr
, то выводится запятая, иначе выводится]
. - Если
i
делится на 10, то выводится пробел. - Выводится сообщение «Массив по возрастанию элементов» и выводится массив
mas
с помощью циклаfor
. - В цикле
for
происходит вывод элементов массиваmas
с шагом от 1 доr
. - Если
i
равно 1, то выводится[
, иначе выводитсяmas[i]:3
. - Если
i
меньшеr
, то выводится запятая, иначе выводится]
. - Если
i
делится на 10, то выводится пробел. - Выводится сообщение «Новый массив» и выводится массив
mas
с помощью циклаfor
. - В цикле
for
происходит вывод элементов массиваmas
с шагом от 1 доr
. - Если
i
равно 1, то выводится[
, иначе выводитсяmas[i]/mas[r]:7:3
. - Если
i
меньшеr
, то выводится запятая, иначе выводится]
. - Если
i
делится на 10, то выводится пробел.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д