function IsPositive(a:integer):boolean; begin result:=(a>-1); end;
procedure work; var min, max, count:integer; begin count:=0; min:=m[0]; max:=0; for i:=0 to 14 do begin if IsPositive(m[i]) then begin inc(count); if m[i]>max then max:=m[i]; if m[i]<min then min:=m[i]; end; end; writeln('MAX: ', max); writeln('MIN: ', min); writeln('Count: ', count); end;
begin for i:=0 to 14 do begin write('n: '); readln(m[i]); end;
Треугольник существует, если a < (b+c), b < (a+c), c < (a + b) Он равносторонний, если a=b=c Он равнобедренный, если a=b!=c, a=c!=b, b=c!=a (!= всмысле не равно) Иначе произвольный Разве не очевидно?
Програмка на питоне: https://pastebin.com/raw/fKQqvfDb Там я сначала проверяю, что треугольник существует, потом проверяю, что две его любые стороны равны. Если при этом ещё и сумма всех сторон делённая на 3 равна одной из них, то они все равны => он равносторонний. Иначе он равнобедренный. Если условие про равенство двух сторон не выполняется, то он - произвольный. Как упростить - не знаю.
var m:array [0..14] of integer; i:integer;
function IsPositive(a:integer):boolean;
begin
result:=(a>-1);
end;
procedure work;
var min, max, count:integer;
begin
count:=0;
min:=m[0];
max:=0;
for i:=0 to 14 do begin
if IsPositive(m[i]) then begin
inc(count);
if m[i]>max then max:=m[i];
if m[i]<min then min:=m[i];
end;
end;
writeln('MAX: ', max);
writeln('MIN: ', min);
writeln('Count: ', count);
end;
begin
for i:=0 to 14 do begin
write('n: ');
readln(m[i]);
end;
work;
readln;
end.