В каждой строке заменить знак максимального по модулю элемента на противоположный - Pascal

Узнай цену своей работы

Формулировка задачи:

Дан двумерный массив целых чисел a из n строк и m столбцов. Требуется в каждой строке заменить знак максимального по модулю элемента на противоположный. Если таких элементов несколько, требуется изменить все.

Решение задачи: «В каждой строке заменить знак максимального по модулю элемента на противоположный»

textual
Листинг программы
  1. var
  2.     a: Array[Byte, Byte] Of ShortInt;
  3.     i, j, n, m, jMax: Byte;
  4.     max: ShortInt;
  5. begin
  6.     Randomize;
  7.     repeat
  8.         Write('n(>0)='); ReadLn(n);
  9.     until (n > 0);
  10.     repeat
  11.         Write('m(>0)='); ReadLn(m);
  12.     until (m > 0);
  13.     WriteLn('Original array:');
  14.     for i := 0 to n - 1 do
  15.     begin
  16.         jMax := 0;
  17.         for j := 0 to m - 1 do
  18.         begin
  19.             a[i, j] := Random(199) - 99;
  20.             Write(a[i, j]:4);
  21.             if (Abs(a[i, j]) > Abs(a[i, jMax]))
  22.             then
  23.                 jMax := j;
  24.         end;
  25.         WriteLn;
  26.         max := Abs(a[i, jMax]);
  27.         for j := 0 to m - 1 do
  28.             if (Abs(a[i, j]) = max)
  29.             then
  30.                 a[i, j] := -a[i, j];
  31.     end;
  32.     WriteLn('Modified array:');
  33.     for i := 0 to n - 1 do
  34.     begin
  35.         for j := 0 to m - 1 do
  36.             Write(a[i, j]:4);
  37.         WriteLn;
  38.     end;
  39. end.

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

  1. Объявление переменных:
    • a - двумерный массив с элементами типа ShortInt
    • i - переменная типа Byte для использования в циклах
    • j - переменная типа Byte для использования в циклах
    • n - переменная типа Byte для хранения количества строк в массиве
    • m - переменная типа Byte для хранения количества столбцов в массиве
    • jMax - переменная типа Byte для хранения индекса максимального элемента в строке
    • max - переменная типа ShortInt для хранения максимального по модулю элемента в строке
  2. Генерация случайных значений для массива:
    • Цикл, в котором пользователю предлагается ввести значение n, повторяется до тех пор, пока n не будет больше 0.
    • Цикл, в котором пользователю предлагается ввести значение m, повторяется до тех пор, пока m не будет больше 0.
    • Генерируются случайные значения для элементов массива a[i, j] и выводятся на экран.
  3. Поиск максимального элемента в строке:
    • Для каждой строки определяется индекс максимального по модулю элемента и сохраняется в переменной jMax.
  4. Замена знака максимального по модулю элемента на противоположный:
    • Выбирается максимальный по модулю элемент в строке сохраненный в переменной max.
    • Для каждого элемента в строке, если значение по модулю равно max, то знак этого элемента меняется на противоположный путем умножения на -1.
  5. Вывод измененного массива:
    • Измененный массив выводится на экран.
  6. Конец программы.

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


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

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

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы