Расположить в порядке возрастания положительные элементы массива, кратные заданному числу - 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
. Последовательность чисел выводится на экран. - Пользователю предлагается ввести число для проверки кратности.
- Затем двойной цикл проходит по всем парам элементов массива и проверяет их на положительность и кратность заданному числу. Если оба элемента положительные и кратные, и при этом первый элемент больше второго, то они меняются местами.
- Выводится сообщение
Отсортированный массив:
. - Отсортированный массив выводится на экран.
- Программа ожидает ввода пользователя перед завершением.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д