// PascalABC.NET 3.0, сборка 1076 var a,b,c,p,s:real; begin Writeln('Введите через пробел стороны треугольника: '); Read(a,b,c); if (a+b>c) and (a+c>b) and (b+c>a) then begin p:=(a+b+c)/2; s:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln('Площадь треугольника равна ',s) end else Writeln('Невозможно построить треугольник') end.
Тестовые решения: Введите через пробел стороны треугольника: 10 15 13.6 Площадь треугольника равна 66.3272183948641
Введите через пробел стороны треугольника: 5 8 20.4 Невозможно построить треугольник
Значит так: мы создаем массив избыточной длины, куда потом будем записывать рандомные числа. Так же мы создаем массив-счетчик b (у него индексами являются сами числа, а элементами - количество этого числа в массиве А), куда будет присваиваться, сколько раз нам встречается то или иное число (перед этим мы массив обязательно обнулим). В конце мы смотрим максимальное число из массива-счетчика. Вуаля!
Вот пример программы на паскале ABC:
var a:array [1..1000000] of integer; b:array [1..10] of longint; c:integer; i,max,n:longint; begin write('Введите число элементов массива: '); readln(n); max:=0; for i:=1 to 10 do b[i]:=0; for i:=1 to n do begin a[i]:=random(10)+1; write(a[i],' '); b[a[i]]:=b[a[i]]+1 end; for i:=1 to 10 do if b[i]>max then begin c:=i; max:=b[i] end; writeln; writeln('Чаще всего в массиве встречается число ',c) end.
var
a,b,c,p,s:real;
begin
Writeln('Введите через пробел стороны треугольника: ');
Read(a,b,c);
if (a+b>c) and (a+c>b) and (b+c>a) then begin
p:=(a+b+c)/2;
s:=sqrt(p*(p-a)*(p-b)*(p-c));
Writeln('Площадь треугольника равна ',s)
end
else Writeln('Невозможно построить треугольник')
end.
Тестовые решения:
Введите через пробел стороны треугольника:
10 15 13.6
Площадь треугольника равна 66.3272183948641
Введите через пробел стороны треугольника:
5 8 20.4
Невозможно построить треугольник