Расположить в порядке возрастания положительные элементы массива, кратные заданному числу - 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.

Объяснение кода листинга программы

  1. Объявляется константа m со значением 20.
  2. Объявляется переменная arr - массив из 20 целочисленных элементов.
  3. Объявляются переменные i, j, k, x - все целочисленные.
  4. Используется функция randomize для инициализации генератора случайных чисел.
  5. Выводится сообщение Исходный массив:.
  6. Далее в цикле от 1 до 20 генерируются случайные числа и помещаются в массив arr. Последовательность чисел выводится на экран.
  7. Пользователю предлагается ввести число для проверки кратности.
  8. Затем двойной цикл проходит по всем парам элементов массива и проверяет их на положительность и кратность заданному числу. Если оба элемента положительные и кратные, и при этом первый элемент больше второго, то они меняются местами.
  9. Выводится сообщение Отсортированный массив:.
  10. Отсортированный массив выводится на экран.
  11. Программа ожидает ввода пользователя перед завершением.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы