В двумерном массиве удвоить элементы тех столбцов, в которых нет нулевых элементов - 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.

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

  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
Похожие ответы