Решить через подпрограмму и без "рандома" дано: массивы а(8),в(11). определить в каком массиве отрицательное число встречается раньше. номер первого отрицательного элемента в массиве находить в подпрограмме.
function FirstNegative(a: V; n: integer): integer; var i: integer; begin i := 0; Result := 0; repeat i := i + 1; if a[i] < 0 then Result := i until (Result > 0) or (i > lim) end;
procedure InpMass(var a: V; var n: integer; mName: string); // Организует ввод массива var i, p: integer; begin writeln('Вводите элементы массива ' + mName + '; 7777 - конец ввода'); i := 0; repeat read(p); i := i + 1; if p <> 7777 then a[i] := p; until (p = 7777) or (i > lim); n := i - 1 end;
var a, b: V; m, n, p, q: integer;
begin InpMass(a, m, 'A'); InpMass(b, n, 'B'); p := FirstNegative(a, m); q := FirstNegative(b, n); if p <= q then writeln('Номер первого отрицательного элемента в массива А: ', p) else writeln('Номер первого отрицательного элемента в массива B: ', q) end.
Тестовое решение:
Вводите элементы массива A; 7777 - конец ввода 37 14 -25 32 30 -29 38 27 7777 Вводите элементы массива B; 7777 - конец ввода 33 -36 23 -17 -3 -16 -33 33 -48 -39 30 7777 Номер первого отрицательного элемента в массива B: 2
lim = 11;
type
V = array[1..lim] of integer;
function FirstNegative(a: V; n: integer): integer;
var
i: integer;
begin
i := 0;
Result := 0;
repeat
i := i + 1;
if a[i] < 0 then Result := i
until (Result > 0) or (i > lim)
end;
procedure InpMass(var a: V; var n: integer; mName: string);
// Организует ввод массива
var
i, p: integer;
begin
writeln('Вводите элементы массива ' + mName + '; 7777 - конец ввода');
i := 0;
repeat
read(p);
i := i + 1;
if p <> 7777 then a[i] := p;
until (p = 7777) or (i > lim);
n := i - 1
end;
var
a, b: V;
m, n, p, q: integer;
begin
InpMass(a, m, 'A');
InpMass(b, n, 'B');
p := FirstNegative(a, m);
q := FirstNegative(b, n);
if p <= q then writeln('Номер первого отрицательного элемента в массива А: ', p)
else writeln('Номер первого отрицательного элемента в массива B: ', q)
end.
Тестовое решение:
Вводите элементы массива A; 7777 - конец ввода
37 14 -25 32 30 -29 38 27 7777
Вводите элементы массива B; 7777 - конец ввода
33 -36 23 -17 -3 -16 -33 33 -48 -39 30 7777
Номер первого отрицательного элемента в массива B: 2