program tmp;
uses crt;
const count=50;
var
i,n,p1,p2:integer;
mas:array[1..count] of integer;
begin
clrscr;
readln(n);
for i:=1 to n do begin
repeat
mas[i]:=random(50)-25;
until mas[i]<>0;
end;
clrscr;
write('mas:');writeln;
for i:=1 to n do write(mas[i]:4);
writeln;
p1:=1;
p2:=1;
for i:=1 to n do if mas[i]<0 then p1:=p1*mas[i]
else p2:=p2*mas[i];
if abs(p1)>abs(p2) then write('p1 bolshe')
else if abs(p2)>abs(p1) then write('p2 bolshe')
else write('ravni');
readkey;
end.
Следующий вариант
uses crt;
type treug=record
a,b,c:real;
end;
var t:treug;
p,s:real;
begin
clrscr;
repeat
writeln('Введите стороны треугольника:');
readln(t.a,t.b,t.c);
if(t.a<=abs(t.b-t.c))or(t.a>=t.b+t.c)then
writeln('Это не треугольник. Повторите вод.');
until (t.a>abs(t.b-t.c))and(t.a<t.b+t.c);
p:=t.a+t.b+t.c;
writeln('Периметр=',p:0:2);
p:=p/2;
s:=sqrt(p*(p-t.a)*(p-t.b)*(p-t.c));
write('Площадь=',s:0:2);
readln
end.