Program xyz;
uses crt;
const nmax=100;
type mas=array[1..nmax] of integer;
procedure Vvod1(var a:mas;n:byte;c:char);
var i:byte;
begin
writeln('введите',n,' элементов массива  ',c,' целые положительные и отрицательные числа:');
for i:=1 to n do
 begin
  write('el[',i,']=');
  readln(a[i]);
 end;
clrscr;
end;
procedure Vvod2(var a:mas;var n:byte;c:char);
var i:byte;
begin
repeat
write('размер массива',nmax,' до  n=');
readln(n);
until n in [1..nmax];
writeln('введите элементов массива  ',c,' целые положительные и отрицательные числа:');
for i:=1 to n do
 begin
  write('el[',i,']=');
  readln(a[i]);
 end;
clrscr;
end;
procedure Vyvod(var a:mas;n:byte;c:char);
var i:byte;
begin
writeln('Массив ',c);
for i:=1 to n do
write(a[i],' ');
writeln;
writeln;
end;
procedure Kol(a:mas;n:byte);
var i,k:byte;
begin
if a[1]<0 then k:=0
else
 begin
  k:=0;
  i:=1;
  while (a[i]>=0)and(i<=n) do
   begin
    if a[i]>0 then k:=k+1;
    i:=i+1;
   end;
 end;
if i>n then writeln('нет отрицательного элемента ')
else writeln('Кол-во положительных элементов до отрицательного =',k);
writeln;
end;

var x,y,z:mas;
    n:byte;
begin
clrscr;
Vvod1(x,40,'X');
Vvod1(y,50,'Y');
Vvod2(z,n,'Z');
Vyvod(x,40,'X');
Kol(x,40);
Vyvod(y,50,'Y');
Kol(y,50);
Vyvod(z,n,'Z');
Kol(z,n);
readln
end.
