Расположить в порядке возрастания положительные элементы массива, кратные заданному числу - Pascal
Формулировка задачи:
Помогите с задачей:
Расположить в порядке возрастания положительные элементы массива, кратные заданному числу.
В порядке возрастания я уже разобрался как делать, а вот кратному числу нет. Вот я сделал в порядке возрастания:rogram gg;
uses crt;
const
m = 10;
var
arr: array[1..m] of integer;
i, j, k: integer;
begin
randomize;
write ('Исходный массив: ');
for i := 1 to m do begin
arr[i] := random(256);
write (arr[i]:4);
end;
writeln; writeln;
for i := 1 to m-1 do
for j := 1 to m-i do
if arr[j] > arr[j+1] then begin
k := arr[j];
arr[j] := arr[j+1];
arr[j+1] := k
end;
write ('Отсортированный массив: ');
for i := 1 to m do
write (arr[i]:4);
writeln;
readln
end.Решение задачи: «Расположить в порядке возрастания положительные элементы массива, кратные заданному числу»
textual
Листинг программы
uses crt;
const
m = 20;
var
arr: array[1..m] of integer;
i, j, k, x: integer;
begin
randomize;
writeln ('Исходный массив: ');
for i := 1 to m do
begin
arr[i] := -25+random(200);
write (arr[i]:4);
end;
writeln;
writeln;
write('Введите число для проверки кратности x=');
readln(x);
for i := 1 to m-1 do
for j := i+1 to m do
if(arr[i]>0)and(arr[j]>0)and(arr[i] mod x=0)and(arr[j] mod x=0)
and(arr[i]>arr[j])then
begin
k := arr[i];
arr[i] := arr[j];
arr[j] := k
end;
writeln ('Отсортированный массив: ');
for i := 1 to m do
write (arr[i]:4);
readln
end.
Объяснение кода листинга программы
- Объявляется константа
mсо значением20. - Объявляется переменная
arr- массив из 20 целочисленных элементов. - Объявляются переменные
i,j,k,x- все целочисленные. - Используется функция
randomizeдля инициализации генератора случайных чисел. - Выводится сообщение
Исходный массив:. - Далее в цикле от 1 до 20 генерируются случайные числа и помещаются в массив
arr. Последовательность чисел выводится на экран. - Пользователю предлагается ввести число для проверки кратности.
- Затем двойной цикл проходит по всем парам элементов массива и проверяет их на положительность и кратность заданному числу. Если оба элемента положительные и кратные, и при этом первый элемент больше второго, то они меняются местами.
- Выводится сообщение
Отсортированный массив:. - Отсортированный массив выводится на экран.
- Программа ожидает ввода пользователя перед завершением.