#include<iostream>
#include<iomanip>
#define _USE_MATH_DEFINES
#include<cmath>
using namespace std;
int main()
{
double a, b, c, alfa, beta, gamma;
cout <<"a="; cin >> a;
cout <<"b="; cin >> b;
cout <<"c="; cin >> c;
if (a+b>c && a+c>b && b+c>a)
{
alfa = acos((b*b+c*c-a*a)/(2*b*c))*180/M_PI;
beta = acos((a*a+c*c-b*b)/(2*a*c))*180/M_PI;
gamma = acos((a*a+b*b-c*c)/(2*a*b))*180/M_PI;
cout <<"Angles in degrees:\n";
cout <<setprecision(3)<<fixed<< "alfa=" << alfa << " beta=" << beta << " gamma=" << gamma << endl;
}
else cout << "Triangle absent\n";
system("pause");
return 0;
}
const
AOper: array [0..3] of string = ('+', '-', '*', '/');
var
a, b, Oper: Integer;
r: Real;
begin
Randomize; // инициализация датчика случайных чисел
a := Random (1001);
b := Random (1001);
Oper := Random (4);
case Oper of
0: r := a + b;
1: r := a - b;
2: r := a * b;
3:if b <> 0 then begin
r := a / b;
end else begin
WriteLn ('Произошла ошибка при делении на ноль');
Exit;
end
else r := -1;
end;
WriteLn (a);
WriteLn (b);
WriteLn (Aoper [Oper]);
if (r >= 0) and (r - Trunc (r) = 0) then begin // если в результате получилось положительное целое число
WriteLn ('yes');
WriteLn (r :6 :0);
end else
WriteLn (' no');
ReadLn;
end.
Объяснение:
r - Trunc (r) // это выделение дробной части числа
Поделитесь своими знаниями, ответьте на вопрос:
type point = record
x,y: real;
end;
var s0,s: real;
pts: array [1..3] of point;
i: integer;
begin
{ считывание координат точек}
for i:=1 to 3 do
begin
writeln('точка ',i,' x ',' y ');
write(' ');
readln(pts[i].x,pts[i].y);
end;
{ вычисляем площадь треугольника ABC через векторное произведение }
s0:=(pts[2].x-pts[1].x)*(pts[3].y-pts[1].y) -
(pts[3].x-pts[1].x)*(pts[2].y-pts[1].y);
s0:=abs(s0);
{ вычисляем сумму площадей треугольников из начала координат }
s:=abs(pts[1].x*pts[2].y - pts[2].x*pts[1].y);
s:=s+abs(pts[2].x*pts[3].y - pts[3].x*pts[2].y);
{ если s > s0 , то начало координат вне треугольника }
if s>s0 then writeln('начало координат вне треугольника')
else writeln('начало координат внутри треугольника');
end.
На тестовой задаче:
точка 1 x y
-1 -3
точка 2 x y
-3 2
точка 3 x y
4 3
начало координат внутри треугольника
точка 1 x y
-2 0
точка 2 x y
-3 2
точка 3 x y
4 3
начало координат вне треугольника