Дана матрица. Найти сумму элементов предшествующих последнему отрицательному эл-ту i-ой строки матрицы.
Если все элементы строки неотрицательны, то принять P[i]=1.
Code
Program m1; {заголовок программы}
uses crt; {использование стандартного модуля}
const n = 5;
var a: array[1..n, 1..n] of integer; {описание вещественного массива}
p: array[1..n] of integer;
i, j, s1, scur: integer; {и других переменных}
begin {начало тела программы}
clrscr; {очистка экрана}
writeln ('massiv A:'); {вывод на экран надписи}
randomize; {инициализация датчика случайных чисел}
for i := 1 to n do {в цикле по строкам}
begin
scur := 0; {сумма элементов с начала строки = 0 }
for j := 1 to n do {в цикле по столбцам}
begin {заполняем }
a[i][j] := random(10) - 5; {элементы массива случайными числами }
if a[i][j] < 0 then s1 := scur; {если текущ.эл-т массива <0, то записываем в s1 сумму элементов с начала строки}
scur := scur + a[i][j]; {к сумме элементов с начала строки добавляем текущий элемент}
write(a[i][j], '; '); {выводим на экран элемент массива}
end; {конец цикла по столбцам}
if (s1 = 0) then s1 := 1; {если не было в строке положительных элементов, то s1 присваиваем 1}
p[i] := s1; {заносим в массив P элемент, равный s1}
writeln; {перевод строки}
end; {конец цикла по строкам}
writeln; {перевод строки}
writeln ('massiv P:'); {вывод нового массива}
for i := 1 to n do writeln(p[i]);
readkey; {ожидание нажатия клавиши}
end. {конец программы.}
{Результаты выполнения программы:
massiv A:
-2; -5; 1; -5; 4;
4; 1; 3; 3; -1;
-2; -2; 3; 3; -5;
4; -1; -5; -4; -4;
3; 1; -5; 3; -4;
massiv P:
-6
11
2
-6
2
}