Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Evan222
0 / 0 / 0
Регистрация: 26.01.2010
Сообщений: 5
#1

Точка и Треугольник - C++

23.02.2010, 15:25. Просмотров 465. Ответов 2
Метки нет (Все метки)

Даны действительные числа x1, x2, x3, y1, y2, y3. Принадлежит ли начало координат треугольнику с вершинами (x1, y1), (x2, y2), (x3, y3)?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.02.2010, 15:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Точка и Треугольник (C++):

Треугольник и точка - C++
Задача С клавиатуры вводится координаты вершин треугольника и координаты точки с .Определить лежит ли точка в треугольнике.И если можно...

Треугольник и точка. - C++
Мне завтра сдавать лабораторну работу в универе, это последний день, а я приехал только сегодня из далека(ездил в гости за 300 км) День...

Входит ли точка в треугольник? - C++
как определить входит ли точка в правильный треугольник с известными координатами?

Треугольник задан вершинами (x1,y1), (x2,y2), (x3,y3). Принадлежит ли заданная точка (x,y) указанному треугольнику. - C++
Добрый день! Помогите пожалуйста разобраться с прогой... Треугольник задан вершинами (x1,y1), (x2,y2), (x3,y3). Принадлежит ли...

Наследование классов: реализовать классы точка, линия, треугольник, круг - C++
задачка интересная,но как сделать ее-я не представляю... можете помочь..

Создать базовый класс Треугольник с 2 наследниками: Равносторонний треугольник, Прямоугольный треугольник - C++
Задание звучит так: Нужно создать базовый класс Треугольник с двумя наследующими его классами - равносторонний треугольник (·...

2
Nameless One
Эксперт С++
5777 / 3427 / 255
Регистрация: 08.02.2010
Сообщений: 7,448
23.02.2010, 16:47 #2
Evan222, нарисуй чертежик, выведи уравнения прямых, на которых лежат стороны треугольника, и ты поймешь, как решать
0
kentaw
421 / 129 / 4
Регистрация: 24.02.2009
Сообщений: 1,123
23.02.2010, 17:37 #3
вот паскал пример, нужно переводить на С++
Pascal
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
{Izvestny koordinaty vershin 
treugol'nika ABC. Opredelit' 
prinadlezhit li vvodimaya tochka 
dannomu treugol'niku.}
Program Kentaw;
uses crt;
var
 x1,y1,x2,y2,x3,y3,x4,y4,AB,BC,AC,OC,OB,OA:real;
 p_ABC, p_AOB, p_BOC, p_AOC,S_ABC,S_AOB,S_BOC,S_AOC:Real;
begin
  clrscr;
  Writeln('Vvodite vershini treuqolnika najimaya <Enter>');
  Readln(x1);
  Readln(y1);
  Readln(x2);
  Readln(y2);
  Readln(x3);
  Readln(y3);
  Writeln('Vvodite koordinayi zadannoqo tochka');
  Readln(x4);
  Readln(y4); 
  AB:=SQRT(SQR(x2-x1)+SQR(y2-y1));
  BC:=SQRT(SQR(x3-x2)+SQR(y3-y2));
  AC:=SQRT(SQR(x3-x1)+SQR(y3-y1));
  OA:=SQRT(SQR(x4-x1)+SQR(y4-y1)); 
  OB:=SQRT(SQR(x4-x2)+SQR(y4-y2));
  OC:=SQRT(SQR(x4-x3)+SQR(y4-y3)); 
  p_ABC:=(AB+BC+AC)/2;
  S_ABC:=sqrt(p_ABC*(p_ABC-AB)*(p_ABC-AC)*(p_ABC-BC));  
  p_AOB:=(AB+OB+OA)/2;
  S_AOB:=sqrt(p_AOB*(p_AOB-AB)*(p_AOB-OB)*(p_AOB-OA));   
  p_BOC:=(OB+BC+OC)/2;
  S_BOC:=sqrt(p_BOC*(p_BOC-OB)*(p_BOC-BC)*(p_BOC-OC));  
  p_AOC:=(OA+OC+AC)/2;
  S_AOC:=sqrt(p_AOC*(p_AOC-OA)*(p_AOC-OC)*(p_AOC-AC));
  if abs(S_AOB+S_BOC+S_AOC-S_ABC)<0.00000001 then writeln('DA!') else writeln('NET!');
  readln 
 
end.
Добавлено через 9 минут
наверно так будет
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
26
27
28
29
30
31
32
33
34
#include <iostream>
#include <math.h>
int main()
{
 float x1,y1,x2,y2,x3,y3,x4,y4,AB,BC,AC,OC,OB,OA;
 float p_ABC, p_AOB, p_BOC, p_AOC,S_ABC,S_AOB,S_BOC,S_AOC;
  printf("Vvodite vershini treuqolnika najimaya <Enter>");
  scanf("%f\n",x1);
  scanf("%f\n",y1);
  scanf("%f\n",x2);
  scanf("%f\n",y2);
  scanf("%f\n",x3);
  scanf("%f\n",y3);
  printf("Vvodite koordinayi zadannoqo tochka");
  scanf("%f\n",x4);
  scanf("%f\n",y4); 
  AB=SQRT(SQR(x2-x1)+SQR(y2-y1));
  BC=SQRT(SQR(x3-x2)+SQR(y3-y2));
  AC=SQRT(SQR(x3-x1)+SQR(y3-y1));
  OA=SQRT(SQR(x4-x1)+SQR(y4-y1)); 
  OB=SQRT(SQR(x4-x2)+SQR(y4-y2));
  OC=SQRT(SQR(x4-x3)+SQR(y4-y3)); 
  p_ABC=(AB+BC+AC)/2;
  S_ABC=sqrt(p_ABC*(p_ABC-AB)*(p_ABC-AC)*(p_ABC-BC));  
  p_AOB=(AB+OB+OA)/2;
  S_AOB=sqrt(p_AOB*(p_AOB-AB)*(p_AOB-OB)*(p_AOB-OA));   
  p_BOC=(OB+BC+OC)/2;
  S_BOC=sqrt(p_BOC*(p_BOC-OB)*(p_BOC-BC)*(p_BOC-OC));  
  p_AOC=(OA+OC+AC)/2;
  S_AOC=sqrt(p_AOC*(p_AOC-OA)*(p_AOC-OC)*(p_AOC-AC));
  if (abs(S_AOB+S_BOC+S_AOC-S_ABC)<0.00000001) printf('DA!') else printf('NET!');
  system("pause");
  return 0;
}
Добавлено через 29 минут
вот рабочий
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
26
27
28
29
30
31
32
33
34
35
36
#include <cstdlib>
#include <iostream>
#include <math.h>
using namespace std;
 
int main()
{
 float x1,y1,x2,y2,x3,y3,x4,y4;
 double AB,BC,AC,OC,OB,OA;
 float p_ABC, p_AOB, p_BOC, p_AOC,S_ABC,S_AOB,S_BOC,S_AOC;
  printf("Vvodite pari vershini treuqolnika najimaya <Enter>\n");
  scanf("%f%f\n",&x1,&y1);
  scanf("%f%f\n",&y1,&y2);
  scanf("%f%f",&x3,&y3);
  printf("Vvodite koordinayi zadannoqo tochka\n");
  scanf("%f%f",&x4,&y4);
  AB=sqrt((x2-x1)*(x2-x1)+(y2-y1)*(y2-y1));
  BC=sqrt((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2));
  AC=sqrt((x3-x1)*(x3-x1)+(y3-y1)*(y3-y1));
  OA=sqrt((x4-x1)*(x4-x1)+(y4-y1)*(y4-y1)); 
  OB=sqrt((x4-x2)*(x4-x2)+(y4-y2)*(y4-y2));
  OC=sqrt((x4-x3)*(x4-x3)+(y4-y3)*(y4-y3)); 
  p_ABC=(AB+BC+AC)/2;
  S_ABC=sqrt(p_ABC*(p_ABC-AB)*(p_ABC-AC)*(p_ABC-BC));  
  p_AOB=(AB+OB+OA)/2;
  S_AOB=sqrt(p_AOB*(p_AOB-AB)*(p_AOB-OB)*(p_AOB-OA));   
  p_BOC=(OB+BC+OC)/2;
  S_BOC=sqrt(p_BOC*(p_BOC-OB)*(p_BOC-BC)*(p_BOC-OC));  
  p_AOC=(OA+OC+AC)/2;
  S_AOC=sqrt(p_AOC*(p_AOC-OA)*(p_AOC-OC)*(p_AOC-AC));
  if (fabs(S_AOB+S_BOC+S_AOC-S_ABC)<0.00000001)
    printf("DA!");
    else printf("NET!");
    system("PAUSE");
    return EXIT_SUCCESS;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.02.2010, 17:37
Привет! Вот еще темы с ответами:

Иерархия классов "Точка-Отрезок-Треугольник" - C++
Создайте иерархию классов Точка-Отрезок-Треугольник. Класс Point уже дан, мучаюсь с классом Line. После динамического объявления объекта...

Класс треугольник с произвольным классом - равнобедренный треугольник - C++
Создать класс треугольник, члены класса - длины 3-х сторон. Предусмотреть в классе методы проверки существования треугольника, вычисления и...

Дана точка М(x, y). Присвоить z = 1, если точка принадлежит окружности с радиусом R и центром в точке (a, b) и z = 0 в противном случае. - C++
Дана точка М(x, y). Присвоить z = 1, если точка принадлежит окружности с радиусом R и центром в точке (a, b) и z = 0 в противном случае.

Даны отрезки [a, b] и [c, d] и точка A с координатой х. Определить, принадлежит ли данная точка одному из этих отрезков, обоим или лежит вне их - C++
Даны отрезки и и точка A с координатой х. Определить, принадлежит ли данная точка одному из этих отрезков, обоим или лежит вне их


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.