Вычесть из каждого элемента строки матрицы первый отрицательный элемент данной строки - 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.
Объяснение кода листинга программы
В данном коде задача состоит в том, чтобы вычесть из каждого элемента строки матрицы первый отрицательный элемент данной строки.
- В первой строке объявляются константы M и N, которые определяют размер матрицы.
- Далее определяется тип матрицы и переменные, которые будут использоваться в коде.
- В функции Step1 происходит поиск первого отрицательного элемента в каждой строке матрицы A.
- Если отрицательный элемент найден, он вычитается из каждого элемента строки.
- В основной части кода генерируется случайная матрица A с помощью функции Randomize() и Random(-5, 5).
- Выводится на экран начальная матрица A.
- Вызывается функция Step1, которая выполняет описанные выше действия.
- Выводится на экран матрица A после выполнения функции Step1.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д