1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
|
#include <math.h>
#include <cmath> //нужна для нахождения арккосинуса
#include <conio.h>
#include <stdio.h>
#include <locale> //нужна для вывода русских букв в консольном окне
#define PI 3.14159265
void main()
{
setlocale(LC_ALL, "Rus");
int Ax=0, Ay=0, Bx=0, By=0, Cx=0, Cy=0;
//Ввод координат вершин
printf("Введите Ax= ");
scanf("%d", &Ax);
printf("Введите Ay= ");
scanf("%d", &Ay);
printf("Введите Bx= ");
scanf("%d", &Bx);
printf("Введите By= ");
scanf("%d", &By);
printf("Введите Cx= ");
scanf("%d", &Cx);
printf("Введите Cy= ");
scanf("%d", &Cy);
//Нахождение векторов
int ABx=0, ABy=0, BCx=0, BCy=0, CAx=0, CAy=0;
ABx=Bx-Ax;
ABy=By-Ay;
printf("\n Координаты вектора AB x=%d y=%d", ABx, ABy);
BCx=Cx-Bx;
BCy=Cy-By;
printf("\n Координаты вектора BC x=%d y=%d", BCx, BCy);
CAx=Ax-Cx;
CAy=Ay-Cy;
printf("\n Координаты вектора CA x=%d y=%d", CAx, CAy);
//Нахождение длин сторон
float AB=0.0, BC=0.0, CA=0.0;
AB=pow(pow(ABx,2)+pow(ABy,2),1.0/2.0);
printf("\n\nAB=%g", AB);
BC=pow(pow(BCx,2)+pow(BCy,2),1.0/2.0);
printf("\nBC=%g", BC);
CA=pow(pow(CAx,2)+pow(CAy,2),1.0/2.0);
printf("\nCA=%g", CA);
//Нахождение косинусов углов
double cosABC=0.0, cosBCA=0.0, cosCAB=0.0;
cosABC=(ABx*BCx+ABy*BCy)/(AB*BC);
printf("\n\nКосинус угла ABC=%g", cosABC);
cosBCA=(BCx*CAx+BCy*CAy)/(BC*CA);
printf("\n\nКосинус угла BCA=%g", cosBCA);
cosCAB=(CAx*ABx+CAy*ABy)/(CA*AB);
printf("\n\nКосинус угла CAB=%g", cosCAB);
//Нахождение углов
double uABC=0, uBCA=0, uCAB=0;
uABC=acos(cosABC)*90.0/PI;
printf("\n Угол ABC=%lg", uABC);
uBCA=acos(cosBCA)*90.0/PI;
printf("\n Угол BCA=%lg", uBCA);
uCAB=acos(cosCAB)*90.0/PI;
printf("\n Угол CAB=%lg", uCAB);
getch();
}
|