В двумерном массиве удвоить элементы тех столбцов, в которых нет нулевых элементов - Pascal

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

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

В двумерном массиве удвоить элементы тех столбцов, в которых нет нулевых элементов, помогите пожалуйста.

Решение задачи: «В двумерном массиве удвоить элементы тех столбцов, в которых нет нулевых элементов»

textual
Листинг программы
  1. var
  2.     ar: Array[Byte, Byte] Of ShortInt;
  3.     i, j, n, m: Byte;
  4.     haveZero: Boolean;
  5. begin
  6.     repeat
  7.         Write('Введите количество строк (1..255): ');
  8.         ReadLn(n);
  9.     until (n > 0);
  10.     repeat
  11.         Write('Введите количество столбцов (1..255): ');
  12.         ReadLn(m);
  13.     until (m > 0);
  14.     Randomize;
  15.     WriteLn('Сгенерированная матрица:');
  16.     for i := 0 to n - 1 do
  17.     begin
  18.         for j := 0 to m - 1 do
  19.         begin
  20.             ar[i, j] := Random(127) - 63;
  21.             Write(ar[i, j]:5);
  22.         end;
  23.         WriteLn;
  24.     end;
  25.     j := 0;
  26.     repeat
  27.         i := 0;
  28.         repeat
  29.             haveZero := (ar[i, j] = 0);
  30.             Inc(i);
  31.         until ((haveZero) Or (i >= n));
  32.         if (Not haveZero)
  33.         then
  34.             for i := 0 to n - 1 do
  35.                 ar[i, j] := ar[i, j]*2;
  36.         Inc(j);
  37.     until (j >= m);
  38.     WriteLn('Модифицированная матрица:');
  39.     for i := 0 to n - 1 do
  40.     begin
  41.         for j := 0 to m - 1 do
  42.             Write(ar[i, j]:5);
  43.         WriteLn;
  44.     end;
  45. end.

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

  1. Объявление переменных:
    • ar: Array[Byte, Byte] Of ShortInt; - объявляется двумерный массив с именем ar, который содержит элементы типа ShortInt, размерностью n строк и m столбцов.
    • i, j, n, m: Byte; - объявляются переменные типа Byte: i, j, n и m.
    • haveZero: Boolean; - объявляется переменная типа Boolean с именем haveZero.
  2. Ввод размерности массива:
    • Пользователю предлагается ввести количество строк и столбцов массива с помощью циклов repeat-until и производится проверка на валидность введенных значений.
  3. Генерация случайных чисел и заполнение массива:
    • Генерируется случайная матрица с помощью функции Random и заполняется сгенерированными значениями в диапазоне от -63 до 63.
  4. Удвоение элементов тех столбцов, в которых нет нулевых элементов:
    • Выполняется цикл по столбцам, в котором для каждого столбца проверяется наличие нулевого элемента.
    • Если нулевого элемента в столбце нет (haveZero = False), то все элементы столбца удваиваются (ar[i, j] := ar[i, j]*2).
  5. Отображение модифицированной матрицы:
    • Выводится модифицированная матрица после удвоения элементов в столбцах.
  6. Конец программы.

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


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

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

11   голосов , оценка 3.636 из 5

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

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

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