Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Программа, которая считывает координаты вершин треугольника на плоскости и находит все углы этого треугольника в градусах.





Углы треугольника можно найти через площадь, поскольку .

Чтобы воспользоваться этой формулой для нахождения угла, нужно найти длины сторон треугольника.

 

#include<iostream>

#include<iomanip>

#include<conio.h>

#include <windows.h>

#define _USE_MATH_DEFINES

/* Это определение необходимо включать перед подключением математической библиотеки для использования математических констант */

#include <math.h>

using namespace std;

//--------------------------------------------------------------------

//функция Len, которая будет находить длину отрезка между двумя точками,
// используя формулу :

double Len (double x1, double y1, double x2, double y2)

{

return sqrt(pow(x1-x2,2) + pow(y1-y2,2));

}

//------------------------------------------------------------

/* Следующая функция будет находить угол между двумя сторонами в градусах. В качестве аргументов функция должна получать дли­ны двух сторон и площадь треугольника */

double Angle(double a, double b, double s)

{

double x = 2*s / (a*b); //x – это

// находим угол и переводим его в градусы

return asin(x) * 180 / M_PI;

}

//============================================================

int main()

{

if(SetConsoleCP(1251)==0

{

cerr<<"Fialed to set codepage!"<<endl;

}

if(SetConsoleOutputCP(1251)==0)

{

cerr<<"Failed to set OUTPUT page!"<<endl;

}

 

double x1, y1, x2, y2, x3, y3; // Координаты вершин

double a, b, c, u1, u2, u3; // Длины сторон и углы треугольника

do

{

cout<<"Введите координаты вершин треугольника: x1 y1 x2 y2 x3 y3 ";

cin>> x1 >> y1 >> x2 >> y2 >> x3 >> y3;

// Находим длины сторон, вызывая функцию Len()

a=Len(x1,y1,x2,y2);

c=Len(x2,y2,x3,y3);

b=Len(x1,y1,x3,y3);

/* Проверяем возможность построения треугольника: сумма любых двух сторон должна быть больше третьей стороны */

if (a+b>c && b+c>a && a+c>b)

{

cout<<"Длины сторон треугольника: " <<setprecision(2)<<a<<' '<<b<<' '<<c<<endl;

// Находим площадь треугольника по формуле Герона:

double p = (a+b+c)/2;

double s = sqrt(p*(p-a)*(p-b)*(p-c));

// Находим углы, используя функцию Angle():

u1 = Angle(a, b, s);

u2 = Angle(b, c, s);

u3 = Angle(a, c, s);

cout<<"Углы треугольника: "<<u1<<' '<<u2<<' '<<u3<< " градусов" << endl;

}

else

cout << "Треугольник вырожден\n";

} while (_getch()!=27);

return 0;

}







Date: 2016-08-30; view: 550; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.006 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию