Форум программистов, компьютерный форум CyberForum.ru

Определить вид треугольника - C++

Восстановить пароль Регистрация
 
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
06.03.2013, 01:23     Определить вид треугольника #1
Здравствуйте, дорогие форумчане.
Мне снова нужна ваша помощь.
Вот задание:
Треугольник задан своими вершинами (x1,y1), (x2,y2), (x3,y3). Определить, какой он: прямоугольный, тупоугольный или остроугольный.
---------------------------
Заранее благодарен.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6166 / 2895 / 282
Регистрация: 04.12.2011
Сообщений: 7,697
Записей в блоге: 3
06.03.2013, 01:33     Определить вид треугольника #2
Цитата Сообщение от sanyachel9binsk Посмотреть сообщение
Треугольник задан своими вершинами (x1,y1), (x2,y2), (x3,y3). Определить, какой он: прямоугольный, тупоугольный или остроугольный.
Посмотрите этот пост:
немного графики+векторы. по смыслу понимаю, а как реализовать - запуталась
sanyachel9binsk
1 / 1 / 0
Регистрация: 27.10.2012
Сообщений: 209
06.03.2013, 02:03  [ТС]     Определить вид треугольника #3
А можно сразу код, пожалуйста? А то я не понял из этого поста ничего.

Добавлено через 20 минут
АП.
alig007
1 / 1 / 0
Регистрация: 30.01.2013
Сообщений: 28
06.03.2013, 02:22     Определить вид треугольника #4
находишь длины сторон. потом если a - большая сторона,b и с - остальные стороны, и a^2 > b^2+с^2 - тупоугольный, если a^2 < b^2+с^2 - остроугольный. если равно то прямоугольный
Xfaider
11 / 11 / 1
Регистрация: 27.10.2012
Сообщений: 26
06.03.2013, 02:27     Определить вид треугольника #5
C++
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
#include "iostream" 
#include "locale.h"
#include "math.h"
double pi=3.14159;
void main()
{
  setlocale (LC_ALL, "rus");
  float x[3],y[3], a,b,c;
  for (int i=0; i<3; i++)
  {
      std::cout<<"Введите координаты "<<i+1<<" точки\n";
      std::cin >>x[i]>>y[i];
  }
  a=sqrt(pow(x[1]-x[0],2)+pow(y[1]-y[0],2));
  b=sqrt(pow(x[2]-x[1],2)+pow(y[2]-y[1],2));
  c=sqrt(pow(x[0]-x[2],2)+pow(y[0]-y[2],2));
 int u1=(acos((pow(a,2)+pow(b,2)-pow(c,2))/(2*a*b))*(180/pi)), 
     u2=(acos((pow(a,2)+pow(c,2)-pow(b,2))/(2*a*c))*(180/pi)), 
     u3=(acos((pow(c,2)+pow(b,2)-pow(a,2))/(2*c*b))*(180/pi));
 if (u1==90 || u2==90 || u3==90) std::cout <<"Треугольник прямоугольный\n";
 else 
     if (u1<90 && u2<90 && u3<90) std::cout <<"Треугольник остроугольный\n";
     else std::cout <<"Треугольник тупоугольный\n";
   system("pause");
}
NEbO
583 / 451 / 49
Регистрация: 22.01.2009
Сообщений: 1,173
Записей в блоге: 1
Завершенные тесты: 1
06.03.2013, 02:40     Определить вид треугольника #6
C
1
2
3
4
5
6
7
8
#include <stdio.h>
int main(){
  int x1, x2, x3, y1, y2, y3;
  printf("Введите координаты:\n");
  scanf("%d %d %d %d %d %d", &x1, &y1, &x2, &y2, &x3, &y3);
  printf("Треугольный\n");
  return 0;
}
Добавлено через 12 минут
если будете показывать мое решение преподу, не забудьте поставить туда еще setlocale (LC_ALL, "rus"), как указал Xfaider, а то будет, к чему придраться
Yandex
Объявления
06.03.2013, 02:40     Определить вид треугольника
Ответ Создать тему
Опции темы

Текущее время: 18:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru