Вычесть из каждого элемента строки матрицы первый отрицательный элемент данной строки - PascalABC.NET

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

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

Дана матрица А(m, n), 1<(m, n)<10. Вычесть из каждого элемента строки первый отрицательный элемент данной строки . Переставить строки по убыванию сумм значений элементов строк.

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

textual
Листинг программы
const
  M = 4;
  N = 4;
 
type
  matr = array[1..M, 1..N] of integer;
 
var
  A: matr;
  i, j: integer;
 
procedure Step1;
var
  i, j, num: integer;
  isminus: boolean;
begin
  for i := 1 to M do
  begin
    isminus := false;
    for j := 1 to N do
    begin
      //Поиск первого отрицательного элемента
      if A[i, j] < 0 then
      begin
        num := A[i, j];
        isminus := true;
        break;
      end;
    end;
    //Если отрицательный элемент найден - вычитаем его из строки
    if isminus = true then
    begin
      for j := 1 to N do
      begin
        A[i, j] := A[i, j] - num; //Вычитание отрицательного элемента - это сумма, тут сами проверьте как у вас должно быть
      end;
    end;
  end;
end;
 
begin
  Randomize();
  //Генерация матрицы
  for i := 1 to M do
  begin
    for j := 1 to N do A[i, j] := Random(-5, 5);
  end;
  //Вывод на экран матрицы
  for i := 1 to M do
  begin
    for j := 1 to N do 
    begin
      write(A[i, j]:2, ' ');
    end;
    writeln();
  end;
  Step1;
  writeln();
  //Проверка матрицы после первого шага
  for i := 1 to M do
  begin
    for j := 1 to N do 
    begin
      write(A[i, j]:2, ' ');
    end;
    writeln();
  end;
end.

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

В данном коде задача состоит в том, чтобы вычесть из каждого элемента строки матрицы первый отрицательный элемент данной строки.

  1. В первой строке объявляются константы M и N, которые определяют размер матрицы.
  2. Далее определяется тип матрицы и переменные, которые будут использоваться в коде.
  3. В функции Step1 происходит поиск первого отрицательного элемента в каждой строке матрицы A.
  4. Если отрицательный элемент найден, он вычитается из каждого элемента строки.
  5. В основной части кода генерируется случайная матрица A с помощью функции Randomize() и Random(-5, 5).
  6. Выводится на экран начальная матрица A.
  7. Вызывается функция Step1, которая выполняет описанные выше действия.
  8. Выводится на экран матрица A после выполнения функции Step1.
  9. Код завершается.

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


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

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

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