Будь ласка, терміново!
На вході програми маємо три натуральних числа a, b і c, записані в одному рядку через пропуск. У відповідь потрібно вивести одне з повідомлень:
equilateral, якщо існує рівносторонній трикутник з довжинами сторін a, b, c; isosceles, якщо існує рівнобедренний трикутник з довжинами сторін a, b, c; versatile, якщо існує різносторонній трикутник з довжинами сторін a, b, c; invalid, якщо трикутника з довжинами сторін a, b, c не існує.
n = 20;
var
i, e: integer;
f: file of integer;
begin
Randomize;
Assign(f, 'output.txt');
Rewrite(f);
writeln('Исходный файл');
for i := 1 to n do
begin
e := Random(20) - 10;
write(f, e);
write(e:4)
end;
Close(f);
Reset(f);
writeln;
writeln('Обработанный файл');
i := 0;
while not Eof(f) do
begin
read(f, e);
i := i + 1;
if i mod 2 <> 0 then begin
seek(f, i-1);
write(f, 1);
seek(f, i-1);
read(f, e)
end;
write(e:4)
end
end.
Тестовое решение:
Исходный файл
-6 4 -3 -7 6 -1 -4 8 -7 -5 5 -10 5 -1 -9 -7 -5 -1 9 8
Обработанный файл
1 4 1 -7 1 -1 1 8 1 -5 1 -10 1 -1 1 -7 1 -1 1 8
var a, b, c, p, s :real;
begin
readln(a,b,c); if (a + b > c) and (a + c > b) and (b + c > a) then begin writeln('Могут быть сторонами треугольника'); p:= (a + b + c)/2; s:= sqrt( p * (p - a) * (p - b) * (p - c) ); writeln('Площадь равна ',s); end else writeln('Не могут быть сторонами треугольника');
end.
program task2;
var a, b, c :real; d :integer;
begin
write('Введите числа: '); readln(a,b); write('Введите номер действия: '); readln(d); case d of 1: c:= a + b; 2: c:= a - b; 3: c:= a * b; 4: c:= a / b; end; writeln(c);
end.