Последний отрицательный элемент каждого столбца матрицы заменить нулем - Free Pascal
Формулировка задачи:
Дан двумерный массив. Выполнить следующее преобразование: последний отрицательный элемент каждого столбца заменить нулем.
Решение задачи: «Последний отрицательный элемент каждого столбца матрицы заменить нулем»
textual
Листинг программы
- var
- N, k: longint;
- A: array of array of longint;
- procedure InputArray;
- begin
- Write('‚Введите числа* M и N (Размеры матрицы MxN):');
- Readln(N, k);
- SetLength(A, N + 1, k + 1);
- Writeln('Введите матрицу(M строк по N чисел через пробел)*:');
- for n := 1 to n do for k := 1 to k do Read(A[n, k]);
- end;
- procedure ChangeArray ;
- var
- last: longint;
- begin
- for k := 1 to k do
- begin
- last := 0;
- for N := 1 to N do if A[n, k] < 0 then last := N;
- if last <> 0 then A[last, k] := 0;
- end;
- end;
- procedure OutPutArray;
- begin
- Writeln('Новая матрица: ');
- for N := 1 to N do
- begin
- for k := 1 to k do Write(A[n, k], ' ');
- Writeln;
- end;
- readln;
- end;
- begin
- InputArray;
- ChangeArray;
- OutputArray;
- readln;
- end.
Объяснение кода листинга программы
В данном коде представлена программа на языке программирования Free Pascal, которая выполняет следующие действия:
- Ввод размеров матрицы (N строк, k столбцов) и ввод матрицы (N строк, k столбцов).
- Ввод последнего отрицательного элемента каждого столбца матрицы.
- Вывод новой матрицы, в которой последний отрицательный элемент каждого столбца заменен нулем. Вот список действий, которые выполняются в коде:
- Ввод размеров матрицы (N строк, k столбцов):
- Запрос на ввод чисел N и k.
- Ввод N и k с помощью функции Readln.
- Установка длины массива A равной N + 1 и k + 1 с помощью функции SetLength.
- Ввод матрицы (N строк, k столбцов):
- Запрос на ввод матрицы (N строк, k столбцов).
- Ввод элементов матрицы с помощью двух вложенных циклов и функции Read.
- Поиск последнего отрицательного элемента каждого столбца:
- Создание переменной last типа longint и инициализация ее значением 0.
- Два вложенных цикла, которые проходят по всем элементам матрицы.
- Если элемент A[n, k] отрицательный, то его значение присваивается переменной last.
- Если значение last не равно 0, то элемент A[last, k] заменяется нулем.
- Вывод новой матрицы:
- Запрос на вывод новой матрицы.
- Два вложенных цикла, которые проходят по всем элементам матрицы.
- Вывод каждого элемента матрицы с помощью функции Write.
- Переход на новую строку с помощью функции Writeln.
- Ввод для завершения работы программы:
- Ввод для завершения работы программы с помощью функции Readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д