var a: array[1..n, 1..m] of integer; i, j: integer;
function check(i: integer): boolean; var j: integer; begin check := false; j := 0; repeat inc(j); if a[i, j] < 0 then begin check := true; exit; end; until j = m; end;
function search: integer; var i: integer; begin search := 0; i := 0; repeat inc(i); if not(check(i)) then begin search := i; exit; end; until i = n; end;
begin writeln('Введите матрицу ', n, 'x', m,': '); i := 0; repeat j := 0; inc(i); repeat inc(j); read(a[i, j]); until j = m; until i = n; writeln('ответ: ', search); end. Пример работы программы: Введите матрицу 5x5: 3 4 2 3 -2 3 -5 -7 -2 1 8 2 5 4 -4 0 1 2 3 4 1 7 2 -5 2 ответ: 4 * Примечание: Если во всех строках есть отрицательные элементы, то ответ будет 0 (можно изменить в самой процедуре)
Решение с использование длинной арифметики. var i, j, n, len, rem: integer; a: array[1..200] of byte; begin write('Введите число: '); read(n); len := 1; a[1] := 1; for i := n + 1 to 99 {100} do begin for j := 1 to len do begin rem := a[j] * i + rem; a[j] := rem mod 10; rem := rem div 10; end; while rem > 0 do begin inc(len); a[len] := rem mod 10; rem := rem div 10; end; end; writeln('Произведение чисел из интервала (', n, '; 100): '); for i := len downto 1 do write(a[i]); end. Пример работы программы: Введите число: 1 Произведение чисел из интервала (1; 100): 1948348720420644788695888257080283249381963823594360049498643927185579338215778728274424636079639781709574621897447185108592230400000000000000000000