Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.94/18: Рейтинг темы: голосов - 18, средняя оценка - 4.94
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 11

Определить, являются ли заданные точки вершинами треугольника

30.12.2015, 22:18. Показов 3781. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задание: Вводятся координаты трех точек на плоскости. Определить, являются ли данные точки вершинами треугольника. Если да, то найти уравнения сторон, биссектрис, медиан и высот треугольника. По введенным координатам четвертой точки определить, находиться она внутри или вне треугольника.
Код:
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
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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
#include <iostream>
#include <cmath>
#include <math.h>
#include <conio.h>
using namespace std;
 
void coordinatiTochek ()
{
    setlocale (0, "");
    cout<<"Введите координаты первой вершины:"<<endl;
    cin>>x1;
    cin>>y1;
    cout<<"Введите координаты второй вершины:"<<endl;
    cin>>x2;
    cin>>y2;
    cout<<"Введите координаты третьей вершины:"<<endl;
    cin>>x3;
    cin>>y3;
    return 0;
}
void storona ()
{
    int AB = pow(x2 - x1, 2) + pow(y2 - y1, 2);
        cout << "Сторона АВ = " << AB;
        int BC = pow(x3 - x2, 2) + pow(y3 - y2, 2);
        cout << "Сторона BC = " << BC;
        int AC = pow(x3 - x1, 2) + pow(y3 - y1, 2);
        cout << "Сторона AC = " << AC << endl;
        return 0;
}
void visota ()
{ 
    storona ();
    int p = (AB + BC + AC)/2;
    int S = fabs( p * (p-AB) * (p - BC) * (p - AC) );
    int h1 = 2 * S / AC;
    cout << "Высота, проведенная к AC = " << h1;
    int h2 = 2 * S / AB;
    cout << "Высота, проведенная к AB = " << h2;
    int h3 = 2 * S / BC;
    cout << "Высота, проведенная к BC = " << h3 << endl;
    return 0;
}
 
void bissectrisa ()
{
    storona ();
    int l1 = (fabs (AC * AB * (AC + AB - BC) * (AB + BC + AC)) / (AC + AB));
    cout << "Биссектриса угла А = " << l1;
    int l2 = (fabs (AB * BC * (AB + BC - AC) * (AB + BC + AC)) / (AB + BC));
    cout << "Биссектриса угла В = " << l2;
    int l3 = (fabs (BC * AC * (BC + AC - AB) * (AB + BC + AC)) / (BC + AC));
    cout << "Биссектриса угла С = " << l3 << endl;
    return 0;
}
 
void mediana ()
{
    storona ();
    double m1 = 0.5 * fabc(2 * pow(AC, 2) + 2 * pow(AB, 2) - pow(BC, 2));
    cout << "Медиана, проведенная к BC = " << m1;
    double m2 = 0.5 * fabc(2 * pow(AB, 2) + 2 * pow(BC, 2) - pow(AC, 2));
    cout << "Медиана, проведенная к AC = " << m2;
    double m3 = 0.5 * fabc(2 * pow(AC, 2) + 2 * pow(BC, 2) - pow(AB, 2));
    cout << "Медиана, проведенная к АВ = " << m3 << endl;
    return 0;
}
 
void prinadlegnost () 
{ 
setlocale (0, ""); 
int x1, y1, x2, y2, x3, y3; 
if ( x1 == x2 == x3) || (y1 == y2 ==y3) { 
cout « "Точки не являются вершинами треугольника"; 
else if ( x1 == x2 == x3) && (y1 == y2 ==y3){ 
cout « "Точки не являются вершинами треугольника"; 
else { 
storona (); 
bissectrisa (); 
mediana (); 
visota (); 
return 0; 
} 
 
void proverka ()
{
    if ((x1 || x2 || x3 || y1 || y2 || y3) char) { 
cout « "Введенные координаты не являются числами" « endl; 
} 
else { 
        prinadlegnost ();
}
        return 0;
}
 
 
int main ()
{
 
 coordinatiTochek ();
 proverka ();
 cout<<"Введите координаты точки:"<<endl;
cin>>x4;
cin>>y4;
s=((x1-x3)*(y2-y3)-(x2-x3)*(y1-y3))*0.5;
s1=((x1-x4)*(y2-y4)-(x2-x4)*(y1-y4))*0.5;
s2=((x1-x3)*(y4-y3)-(x4-x3)*(y1-y3))*0.5;
s3=((x4-x3)*(y2-y3)-(x2-x3)*(y4-y3))*0.5;
if(s==s1+s2+s3)
{
cout<<"Точка лежит внутри треугольника"<<endl;
}
else
{
cout<<"Точка не лежит внутри треугольника"<<endl;
}
 getch ();
 return 0;
 
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
30.12.2015, 22:18
Ответы с готовыми решениями:

Определить, являются ли заданные точки вершинами треугольника
Вводятся координаты трех точек на плоскости. Определить, является ли данные точки вершинами треугольника. Если да, то найти уравнение...

Заданы координаты трех точек. Определить периметр треугольника, вершинами которого являются заданные точк
Напишите код, пожалуйста С++

Являются ли точки вершинами треугольника
Помогите пожалуйста решить задачу в С++ с помощью функции =) На входе заданы координаты трех точек. Напишите программу, которая...

12
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
30.12.2015, 22:22
Ошибка 1: нет тегов форматирования кода.
Ошибка 2: нет описания ошибки.
Ошибка 3: не приложены скрины
1
Хитрая блондиночка $)
 Аватар для Hikari
1472 / 988 / 399
Регистрация: 21.12.2015
Сообщений: 3,785
30.12.2015, 22:22
А почему ты решил, что в коде есть ошибка?
Она выскакивает, или счет идет неправильно?
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
30.12.2015, 22:24
Цитата Сообщение от Артур333 Посмотреть сообщение
void coordinatiTochek ()
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
{
setlocale (0, "");
cout<<"Введите координаты первой вершины:"<<endl;
cin>>x1;
cin>>y1;
cout<<"Введите координаты второй вершины:"<<endl;
cin>>x2;
cin>>y2;
cout<<"Введите координаты третьей вершины:"<<endl;
cin>>x3;
cin>>y3;
return 0;
}
этих переменных в этот момент не существует

Добавлено через 1 минуту
Цитата Сообщение от Артур333 Посмотреть сообщение
C++
1
2
3
4
5
6
7
int main ()
{
coordinatiTochek ();
proverka ();
cout<<"Введите координаты точки:"<<endl;
cin>>x4;
cin>>y4;
и тут
0
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 11
30.12.2015, 22:24  [ТС]
выскакивает ошибка
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
30.12.2015, 22:25
Цитата Сообщение от Артур333 Посмотреть сообщение
C++
1
else if ( x1 == x2 == x3) && (y1 == y2 ==y3){
неправильно выставлены скобки
0
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 11
30.12.2015, 22:26  [ТС]
не могли бы вы помочь исправить ошибки..сам я не понимаю где они и что это значит, понимаю только наглядно
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
30.12.2015, 22:26
Цитата Сообщение от Артур333 Посмотреть сообщение
выскакивает ошибка
Да тут миллион ошибок

проще так
https://www.cyberforum.ru/cpp-... 62479.html
0
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 11
30.12.2015, 22:38  [ТС]
где и как их исправить?

Добавлено через 5 минут
а если попробовать так?
C++
1
2
3
4
5
6
7
8
9
10
11
12
    cout << "Введите x1: "; 
    cin >> x1; 
    cout << "Введите y1: "; 
    cin >> y1; 
    cout << "Введите x2: "; 
    cin >> x2; 
    cout << "Введите y2: "; 
    cin >> y2; 
    cout << "Введите x3: "; 
    cin >> x3; 
    cout << "Введите y3: " « endl; 
    cin >> y3;
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
30.12.2015, 22:40
Цитата Сообщение от Артур333 Посмотреть сообщение
где и как их исправить?
это основы, самое простое.

область видимости:
http://ci-plus-plus-snachala.ru/?p=32
http://cppstudio.com/post/415/

условия:
http://cppstudio.com/post/291/
0
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 11
30.12.2015, 22:52  [ТС]
первое исправила...пытаюсь запустить с помощью отладчика, и все равно ошибка
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
void coordinatiTochek ()
{
    setlocale (0, "");
    int x1,x2,x3,y1,y2,y3;
    cout<<"Введите координаты первой вершины:"<<endl;
    cin>>x1;
    cin>>y1;
    cout<<"Введите координаты второй вершины:"<<endl;
    cin>>x2;
    cin>>y2;
    cout<<"Введите координаты третьей вершины:"<<endl;
    cin>>x3;
    cin>>y3;
    return 0;
}

 Комментарий модератора 

Артур333, пожалуйста, прочитайте правила форума и постарайтесь впредь их соблюдать:
П. 4.9. Используйте тэги форматирования текста для удобства восприятия ваших сообщений другими пользователями.
0
 Аватар для _Valera_
495 / 377 / 136
Регистрация: 27.01.2015
Сообщений: 1,588
30.12.2015, 22:59
Артур333,
Цитата Сообщение от Артур333 Посмотреть сообщение
исправиЛА
бывает.

Цитата Сообщение от Артур333 Посмотреть сообщение
первое исправила.
есть прогресс. Но переменные удалятся сразу после выхода из функции, сделай их просто глобальными.

Цитата Сообщение от Артур333 Посмотреть сообщение
и все равно ошибка
потому что надо все исправить.
0
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 11
30.12.2015, 23:17  [ТС]
понимаю, что всё мои вопросы глупые..всё же я начинающий программист, месяц назад изучать начал.
Ошибок у меня очень много и все ли они большие?

Добавлено через 3 минуты
сделал глобальными..еще где ошибки?

Добавлено через 1 минуту
а если поставить скобки так?
C++
1
2
3
4
if (( x1 == x2 == x3) || (y1 == y2 ==y3)) { 
cout << "Точки не являются вершинами треугольника"; 
else if (( x1 == x2 == x3) && (y1 == y2 ==y3)){ 
cout << "Точки не являются вершинами треугольника";
Добавлено через 7 минут
программу мне нужно написать до Нового Года..
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
30.12.2015, 23:17
Помогаю со студенческими работами здесь

Являются ли точки вершинами прямоугольного треугольника
Здравствуйте. Такая вот задача, даны три точки на плоскости. Нужно проверить являются ли они вершинами прямоугольного треугольника. Я...

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

Определить, являются ли точки заданного множества вершинами параллелограмма
Здравствуйте! Такое вот задание: Определить, являются ли точки заданного множества вершинами параллелограмма со сторонами, параллельными...

Определить, могут ли три точки быть вершинами треугольника
Всем привет!Помогите решить задачи завтра нужно сдать.Составить алгоритм по блокам,в письменном виде.Если не сложно фотки киньте с...

Четыре точки являются вершинами четырехугольника, могут ли они быть вершинами квадрата?
четыре точки являются вершинами четырехугольника A (x1, y1), B (x2, y2), C (x3, y3), D (x4, y4) . Выяснить, могут ли они быть вершинами...


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru