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

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

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

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

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

textual
Листинг программы
  1. const
  2.   M = 4;
  3.   N = 4;
  4.  
  5. type
  6.   matr = array[1..M, 1..N] of integer;
  7.  
  8. var
  9.   A: matr;
  10.   i, j: integer;
  11.  
  12. procedure Step1;
  13. var
  14.   i, j, num: integer;
  15.   isminus: boolean;
  16. begin
  17.   for i := 1 to M do
  18.   begin
  19.     isminus := false;
  20.     for j := 1 to N do
  21.     begin
  22.       //Поиск первого отрицательного элемента
  23.       if A[i, j] < 0 then
  24.       begin
  25.         num := A[i, j];
  26.         isminus := true;
  27.         break;
  28.       end;
  29.     end;
  30.     //Если отрицательный элемент найден - вычитаем его из строки
  31.     if isminus = true then
  32.     begin
  33.       for j := 1 to N do
  34.       begin
  35.         A[i, j] := A[i, j] - num; //Вычитание отрицательного элемента - это сумма, тут сами проверьте как у вас должно быть
  36.       end;
  37.     end;
  38.   end;
  39. end;
  40.  
  41. begin
  42.   Randomize();
  43.   //Генерация матрицы
  44.   for i := 1 to M do
  45.   begin
  46.     for j := 1 to N do A[i, j] := Random(-5, 5);
  47.   end;
  48.   //Вывод на экран матрицы
  49.   for i := 1 to M do
  50.   begin
  51.     for j := 1 to N do
  52.     begin
  53.       write(A[i, j]:2, ' ');
  54.     end;
  55.     writeln();
  56.   end;
  57.   Step1;
  58.   writeln();
  59.   //Проверка матрицы после первого шага
  60.   for i := 1 to M do
  61.   begin
  62.     for j := 1 to N do
  63.     begin
  64.       write(A[i, j]:2, ' ');
  65.     end;
  66.     writeln();
  67.   end;
  68. 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

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

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

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