Последний отрицательный элемент каждого столбца матрицы заменить нулем - Free Pascal

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

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

Дан двумерный массив. Выполнить следующее преобразование: последний отрицательный элемент каждого столбца заменить нулем.

Решение задачи: «Последний отрицательный элемент каждого столбца матрицы заменить нулем»

textual
Листинг программы
  1. var
  2.   N, k: longint;
  3.   A: array of array of longint;
  4.  
  5. procedure InputArray;
  6. begin
  7.   Write('‚Введите числа* M и N (Размеры матрицы MxN):');
  8.   Readln(N, k);
  9.   SetLength(A, N + 1, k + 1);
  10.   Writeln('Введите матрицу(M строк по N чисел через пробел)*:');
  11.   for n := 1 to n do for k := 1 to k do Read(A[n, k]);
  12. end;
  13.  
  14. procedure ChangeArray ;
  15. var
  16.   last: longint;
  17. begin
  18.   for k := 1 to k do
  19.   begin
  20.     last := 0;
  21.     for N := 1 to N do if A[n, k] < 0 then last := N;
  22.     if last <> 0 then A[last, k] := 0;
  23.   end;
  24. end;
  25.  
  26. procedure OutPutArray;
  27. begin
  28.   Writeln('Новая матрица: ');
  29.   for N := 1 to N do
  30.   begin
  31.     for k := 1 to k do Write(A[n, k], ' ');
  32.     Writeln;
  33.   end;
  34.   readln;
  35. end;
  36.  
  37. begin
  38.   InputArray;
  39.   ChangeArray;
  40.   OutputArray;
  41.   readln;
  42. 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

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

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

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