Дано: массивы а(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>n) end;
const m=8; n=11; var a,b:V; i,p,q:integer; begin Randomize; for i:=1 to m do a[i]:=random(100)-50; for i:=1 to n do b[i]:=random(100)-50; p:=FirstNegative(a,m); q:=FirstNegative(b,n); writeln('Массив А'); for i:=1 to m do write(a[i]:5); writeln; writeln('Массив B'); for i:=1 to n do write(b[i]:5); writeln; if p<=q then writeln('Номер первого отрицательного элемента в массива А: ',p) else writeln('Номер первого отрицательного элемента в массива B: ',q) end.
Тестовый прогон: Массив А 37 14 -25 32 30 -29 38 27 Массив B 33 -36 23 -17 -3 -16 -33 33 -48 -39 30 Номер первого отрицательного элемента в массива B: 2
V=array[1..11] 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>n)
end;
const
m=8;
n=11;
var
a,b:V;
i,p,q:integer;
begin
Randomize;
for i:=1 to m do a[i]:=random(100)-50;
for i:=1 to n do b[i]:=random(100)-50;
p:=FirstNegative(a,m);
q:=FirstNegative(b,n);
writeln('Массив А');
for i:=1 to m do write(a[i]:5);
writeln;
writeln('Массив B');
for i:=1 to n do write(b[i]:5);
writeln;
if p<=q then writeln('Номер первого отрицательного элемента в массива А: ',p)
else writeln('Номер первого отрицательного элемента в массива B: ',q)
end.
Тестовый прогон:
Массив А
37 14 -25 32 30 -29 38 27
Массив B
33 -36 23 -17 -3 -16 -33 33 -48 -39 30
Номер первого отрицательного элемента в массива B: 2