Последний отрицательный элемент каждого столбца матрицы заменить нулем - 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, которая выполняет следующие действия:

  1. Ввод размеров матрицы (N строк, k столбцов) и ввод матрицы (N строк, k столбцов).
  2. Ввод последнего отрицательного элемента каждого столбца матрицы.
  3. Вывод новой матрицы, в которой последний отрицательный элемент каждого столбца заменен нулем. Вот список действий, которые выполняются в коде:
  4. Ввод размеров матрицы (N строк, k столбцов):
    • Запрос на ввод чисел N и k.
    • Ввод N и k с помощью функции Readln.
    • Установка длины массива A равной N + 1 и k + 1 с помощью функции SetLength.
  5. Ввод матрицы (N строк, k столбцов):
    • Запрос на ввод матрицы (N строк, k столбцов).
    • Ввод элементов матрицы с помощью двух вложенных циклов и функции Read.
  6. Поиск последнего отрицательного элемента каждого столбца:
    • Создание переменной last типа longint и инициализация ее значением 0.
    • Два вложенных цикла, которые проходят по всем элементам матрицы.
    • Если элемент A[n, k] отрицательный, то его значение присваивается переменной last.
    • Если значение last не равно 0, то элемент A[last, k] заменяется нулем.
  7. Вывод новой матрицы:
    • Запрос на вывод новой матрицы.
    • Два вложенных цикла, которые проходят по всем элементам матрицы.
    • Вывод каждого элемента матрицы с помощью функции Write.
    • Переход на новую строку с помощью функции Writeln.
  8. Ввод для завершения работы программы:
    • Ввод для завершения работы программы с помощью функции Readln.

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


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

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

11   голосов , оценка 4 из 5
Похожие ответы