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

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

Войти
Регистрация
Восстановить пароль
 
soonshoo
238 / 5 / 2
Регистрация: 09.03.2010
Сообщений: 56
#1

точки, треугольник - C++

20.11.2010, 17:24. Просмотров 556. Ответов 7
Метки нет (Все метки)

не могу довести до ума задачу: дано множество точек, выбрать три разные точки, составляющие треугольник наибольшего периметра.
проблема с условием ,связанным с проверкой существования треугольника.
помогите пожалуйста))буду признательна за подсказки)))
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2010, 17:24
Здравствуйте! Я подобрал для вас темы с ответами на вопрос точки, треугольник (C++):

Попадание точки в треугольник - C++
Есть полигон, представляющий из себя треугольник на основе прямоугольника, т.е. вершины треугольника - левый нижний и правый нижний углы...

Входит ли точки в треугольник из двух множеств точек - C++
Кто-нибудь знает как это решить?

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

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

Выбрать 3 разные точки заданного на плоскости множества точек,составляющие треугольник наибольшего периметра - C++
Подкиньте идею...

Выбрать три разные точки заданного на плоскости множества точек, составляющие треугольник наибольшего периметра - C++
Задание, как множество точек вывести на экран понял. #include <iostream> #include <time.h> #define _CRT_SECURE_NO_DEPRECATE 0 using...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.11.2010, 17:35 #2
Что значит "проверка существования треугольника"? Если есть три точки - значит есть и треугольник, вершинами которого эти точки являются (за исключением случая, когда эти точки совпадают (хотя такого, думаю, по смыслу и по алгоритму не получится), и случая, когда все три точки лежат на одной прямой, но это легко проверить - курите линейную алгебру)
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
20.11.2010, 17:45 #3
Суть:
Неравенство треугольника
В невырожденном треугольнике сумма длин двух его сторон больше длины третьей стороны, в вырожденном — равна. Иначе говоря, длины сторон невырожденного треугольника связаны следующими неравенствами.
Код
a<b+c
b<a+c
c<a+b
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.11.2010, 17:51 #4
ForEveR, я, конечно, извиняюсь, но разве в данном множестве точек могут найтись вырожденные треугольники? Тут скорее наоборот, будет только подтверждаться неравенство треугольника, нам ведь не набор длин сторон дан...
ForEveR
В астрале
Эксперт С++
7970 / 4732 / 321
Регистрация: 24.06.2010
Сообщений: 10,541
Завершенные тесты: 3
20.11.2010, 18:01 #5
silent_1991, Да. Не прав. Если бы нам были даны длины сторон тогда да. А так нет. Спасибо
silent_1991
Эксперт С++
4963 / 3039 / 149
Регистрация: 11.11.2009
Сообщений: 7,027
Завершенные тесты: 1
20.11.2010, 18:04 #6
ForEveR, ну почему же не правы, всё правильно))) Просто к данной задаче неприменимо, ибо вопрос вообще некорректен, проверять нечего (либо автор что-то другое имел ввиду).
soonshoo
238 / 5 / 2
Регистрация: 09.03.2010
Сообщений: 56
20.11.2010, 18:14  [ТС] #7
всем спасибо)))) я нашла ошибку))) прошу прощения. вопрос был неполный))) надо было код выложить))
VASSUV
MiThEoN
412 / 278 / 15
Регистрация: 31.10.2009
Сообщений: 416
Записей в блоге: 2
Завершенные тесты: 1
20.11.2010, 18:38 #8
Хоть вопрос уже и решен может быть такой вариант пригодится кому нибудь
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
#include <iostream>
#include <iomanip>
#include <math.h>
using namespace std;
float perimetr(int x1,int y1, int x2, int y2, int x3, int y3)
{
    float a,b,c;
    a=sqrt(float((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2)));
    b=sqrt(float((x3-x2)*(x3-x2)+(y3-y2)*(y3-y2)));
    c=sqrt(float((x1-x3)*(x1-x3)+(y1-y3)*(y1-y3)));
    if(a>b+c || b>a+c || c>b+a)
        return 0;
    return a+b+c;
}
int main ()
{
    int X[8]={1,6,3,8,4,1,8,3};
    int Y[8]={2,4,1,7,9,3,5,8};
    int i,j,k;
    int imax, jmax, kmax;
    float pmax=0,p=0;
    for(i=0;i<8;i++)
    {
        for(j=i+1;j<8;j++)
        {
            for(k=j+1;k<8;k++)
            {
                p=perimetr(X[i],Y[i],X[j],Y[j],X[k],Y[k]);
                if(pmax<p)
                {
                    pmax=p;
                    imax=i;
                    jmax=j;
                    kmax=k;
                }
            }
        }
    }
    if(pmax==0)
        cout<<"is etih tochek treugolnik sostavit nelzya!!!";
    else
    {
        cout<<"tochka - "<<imax<<"\n";
        cout<<"tochka - "<<jmax<<"\n";
        cout<<"tochka - "<<kmax<<"\n";
    }
    system ( " Pause " );
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.11.2010, 18:38
Привет! Вот еще темы с ответами:

Написать функцию булевского типа, проверяющую попадание точки с заданными координатами в треугольник с вершинами в точках (2,1) (3,0) (-1,0) - C++
ребят нужна помощь Задачи по программированию. Задача решается на двух языках. Задача 3. Написать функцию булевского типа,...

Написать функцию булевского типа, проверяющую попадание точки с заданными координатами в треугольник с вершинами в точках (1,1) (0,2) (-1,0) - C++
ребят нужна помощь Задачи по программированию. Задача решается на двух языках. Задача 2. Написать функцию булевского типа,...

Выбрать такие три точки из множества, не лежащие на одной прямой, которые составляют треугольник min площади - C++
Помогите сделать прогу:С помощью графики отобразить на экране дисплея ход решения следующей задачи: из заданного на плоскости множества...

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


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
20.11.2010, 18:38
Ответ Создать тему
Опции темы

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