Другие языки программирования и технологии

Паскаль помогите с масивами плз

Дано натуральне n, цілочислова квадратна матриця порядку n. Отримати b1...bn, де bi – це сума елементів, які знаходяться після першого від`ємного елемента в і-му рядку(якщо всі елементи рядка невід`ємні, то прийняти bi=100). Вказівки: попередню матрицю задавати самостійно. Дано натуральное n, целочисельная квадратная матрица порядка n.Получить b1...bn, где bi сума елементов, которые находяться после первого отрицательного елемента в i-м рядке(если все елементы рядка не отрицательные,то принять bi=100) Зы:если можна то плиз расспишите програму полностью ато я полный чайник в этих делах...заранее спасиба!
Ну так какая проблема?

for i:=1 to n do begin {цикл по строкам}
Neg := 0;
for j:=1 to n do if A[i,j] < 0 then begin Neg := j; Break; end; {индекс первого отрицательного}
S := 0;
for j:= Neg+1 to n do S := S + A[i,j]; {сумма элементов после первого отрицательного}
if (Neg < n) and (Neg > 0) then b[ i ] := S else b[ i ] := 100;
end;

Кстати, а если первй отрицательный будет последним в строке? Считать, что отрицательных нет или сумма будет нулевой?

В приведенном куске элементу b[ i ] присваивается 100, если в строке не нашлось отрицательных или отрицательный является последним элементом строки.

>>если можна то плиз расспишите програму полностью
Нельзя, потому что это будет уже не "помогите с масивами", а сделайте за меня

>>я полный чайник в этих делах
А это факт вашей биографии. Работайте над собой.
АД
Андрей Деньгин
59 613
Лучший ответ
Отвечаю на смеси русского и паскаля - надеюсь идея алгоритма понятна и доработаешь
--------------
Матрица m - как задать смотри по задаче
Массив нулей с [1..n] //метка на "уже было отрицательное и суммировать или ещё нет"
Массив нулей b[1..n]

Цикл по строкам (i от 1 до n)
-Внутри цикл по значениям в строке (j от 1 до n)
--if (с [ i ] <> 0) then b[ i ] := b[ i ] + m[ i ] [ j ]
--else if (m[ i ] [ j ] < 0) then с [ i ] :=1
-end по строке
end по пачке строк

Цикл на вывод (i от 1 до n)
begin
if c[ i ]=0 then writeln(100)
else writeln (b[ i ] )
end
-------------
Raxmon Abdunazarov
Raxmon Abdunazarov
75 320