Другие языки программирования и технологии

Free Pascal помогите кто шарит

1.Среди N треугольников, у которых известна одна сторона и прилежащие к ней углы, определить равнобедренные, и среди них найти треугольник с самой большой стороной(решить через массивы)
2.1. Удалить в словах первое вхождение буквы ‘е’, если такое имеется(через строковые переменные)
1) Предположим, что углы заданы в градусах:

const Eps := 0.0001;

type Triangle = record
A, B, C, MaxL : Real;
Alpha, Betta, Gamma : Real;
end;

var M : array [1..MaxSize] of Triangle;

...

for N := 1 to Size do
begin
Write('Введите значения треугольника ', N);
Write('Сторона = '); ReadLn(M[N].A);
WriteLn('1 прилегающий угол = '); ReadLn(M[N].Betta);
WriteLn('2 прилегающий угол = '); ReadLn(M[N].Gamma);
{ Остальные значения треугольника рассчитываем }
M[N].Alpha := 180 - M[N].Betta - M[N].Gamma;
M[N].B := M[N].A * sin(Pi * M[N].Betta / 180) / Sin(Pi * M[N].Alpha / 180);
M[N].C := M[N].A * sin(Pi * M[N].Gamma / 180) / Sin(Pi * M[N].Alpha / 180);
Max := M[N].A; if Max < M[N].B then Max := M[N].B; if Max < M[N].C then Max := M[N].C;
M[N].MaxL := Max;
end;

Kol := 0;
Max := 0;
for N := 1 to Size do
if (Abs(M[N].A - M[N].B) < Eps) or (Abs(M[N].A - M[N].C) < Eps) or (Abs(M[N].B - M[N].C) < Eps) then begin
Inc(Kol); if Max = 0 then Max := N else if M[Max].MaxL < M[N] then Max := N; end;

WriteLn('Равнобедренных ', Kol);
if Max > 0 then WriteLn('С наибольшей стороной ', Max);

2) Вообще ни о чём:

if Pos('e', Str) > 0 then Delete(Str, Pos('e', Str), 1);
АМ
Андрей Мешков
66 870
Лучший ответ
Помогу, но не бесплатно.
Alex Alex
Alex Alex
8 247