В двумерном массиве удвоить элементы тех столбцов, в которых нет нулевых элементов - Pascal
Формулировка задачи:
В двумерном массиве удвоить элементы тех столбцов, в которых нет нулевых элементов, помогите пожалуйста.
Решение задачи: «В двумерном массиве удвоить элементы тех столбцов, в которых нет нулевых элементов»
textual
Листинг программы
- var
- ar: Array[Byte, Byte] Of ShortInt;
- i, j, n, m: Byte;
- haveZero: Boolean;
- begin
- repeat
- Write('Введите количество строк (1..255): ');
- ReadLn(n);
- until (n > 0);
- repeat
- Write('Введите количество столбцов (1..255): ');
- ReadLn(m);
- until (m > 0);
- Randomize;
- WriteLn('Сгенерированная матрица:');
- for i := 0 to n - 1 do
- begin
- for j := 0 to m - 1 do
- begin
- ar[i, j] := Random(127) - 63;
- Write(ar[i, j]:5);
- end;
- WriteLn;
- end;
- j := 0;
- repeat
- i := 0;
- repeat
- haveZero := (ar[i, j] = 0);
- Inc(i);
- until ((haveZero) Or (i >= n));
- if (Not haveZero)
- then
- for i := 0 to n - 1 do
- ar[i, j] := ar[i, j]*2;
- Inc(j);
- until (j >= m);
- WriteLn('Модифицированная матрица:');
- for i := 0 to n - 1 do
- begin
- for j := 0 to m - 1 do
- Write(ar[i, j]:5);
- WriteLn;
- end;
- end.
Объяснение кода листинга программы
- Объявление переменных:
ar: Array[Byte, Byte] Of ShortInt;
- объявляется двумерный массив с именемar
, который содержит элементы типа ShortInt, размерностью n строк и m столбцов.i, j, n, m: Byte;
- объявляются переменные типа Byte: i, j, n и m.haveZero: Boolean;
- объявляется переменная типа Boolean с именемhaveZero
.
- Ввод размерности массива:
- Пользователю предлагается ввести количество строк и столбцов массива с помощью циклов repeat-until и производится проверка на валидность введенных значений.
- Генерация случайных чисел и заполнение массива:
- Генерируется случайная матрица с помощью функции Random и заполняется сгенерированными значениями в диапазоне от -63 до 63.
- Удвоение элементов тех столбцов, в которых нет нулевых элементов:
- Выполняется цикл по столбцам, в котором для каждого столбца проверяется наличие нулевого элемента.
- Если нулевого элемента в столбце нет (haveZero = False), то все элементы столбца удваиваются (ar[i, j] := ar[i, j]*2).
- Отображение модифицированной матрицы:
- Выводится модифицированная матрица после удвоения элементов в столбцах.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д