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

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

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.75
KsKsKs
Сообщений: n/a
13.04.2007, 19:14     Выбрать такие три точки из множества, не лежащие на одной прямой, которые составляют треугольник min площади #1
Помогите сделать прогу:С помощью графики отобразить на экране дисплея ход решения следующей задачи: из заданного на плоскости множества точек выбрать такие три точки, не лежащие на одной прямой, которые составляют треугольник наименьшей площади. Начало координат расположить в центре экрана.
или подскажите алгоритм, плиииииииииииииииииииззззззззззззз!!!!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2007, 19:14     Выбрать такие три точки из множества, не лежащие на одной прямой, которые составляют треугольник min площади
Посмотрите здесь:

Выбрать 3 точки множества, составляющих треугольник наибольшего периметра C++
C++ Определить минимальное подмножество точек, после удаления которых останутся точки лежащие на одной прямой
C++ Из заданного на плоскости множества точек выбрать три различные точки
C++ Выбрать три разные точки заданного на плоскости множества точек, составляющие треугольник наибольшего периметра
C++ Из заданного на плоскости множества точек выбрать такие три, которые составляют треугольник наибольшего периметра.
Определить будут ли заданные три точки расположены на одной прямой C++
C++ Определить, лежат ли три точки A, B, C на одной прямой. Если нет, найти угол ABC
Из заданного множества точек на плоскости выбрать три разные точки A, B, C C++
Найти всевозможные группы по 3,4. точки, лежащие на одной прямой C++
C++ Из заданного на плоскости множества точек выбрать три различные точки
Три точки заданы координатами. Определить, лежат ли они на одной прямой C++
Определить лежат ли три точки на одной прямой C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Rich
12 / 12 / 1
Регистрация: 16.03.2007
Сообщений: 108
13.04.2007, 19:59     Выбрать такие три точки из множества, не лежащие на одной прямой, которые составляют треугольник min площади #2
На счёт графики не знаю, но может попробовать так:
использовать 3 вложенных цикла и как бы переберать точки, а также иметь массив(или что-то другое), где будут храниться точки, из которых получается треугольник наименьшей площади. Как только переберуться все точки, то на экране изображай треугольник, из точек, имеющихся в массиве.
KsKsKs
Сообщений: n/a
13.04.2007, 21:48     Выбрать такие три точки из множества, не лежащие на одной прямой, которые составляют треугольник min площади #3
наверн я со стороны похожа на полного дауна, но я ничо не поняла из вышесказанного...расскажи по-подробнее пажалста
Rich
12 / 12 / 1
Регистрация: 16.03.2007
Сообщений: 108
13.04.2007, 22:54     Выбрать такие три точки из множества, не лежащие на одной прямой, которые составляют треугольник min площади #4
Я могу подсказать только на счёт алгоритма:
Скажем у тебя точки A,B,C,D,E,F,G. Заносишь их в массив, скажем так: mas[7]={A,B,C,D,E,F,G}; Создаёшь массив, например, tri[3] (он потом понадобится); Далее:
приблизительно так(схематично):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
                                           int k,t,r,pl1,pl2;
                        pl1 присвается значение площади точек mas[0],mas[1],mas[2].
                                    tri[0]=mas[0];tri[1]=mas[1];tri[2]=mas[2];
                                     for(k=0;k<7;k++)
                                          for(t=k+1;t<7;t++)
                                               for(r=t+1;r<7;r++)
                                                    {  pl2 присваевается площадь от точек mas[k],mas[t],mas[r];                              /********/
                                                         if(pl2<pl1)
                                                             { tri[0]=mas[k];
                                                                tri[1]=mas[t];
                                                                tri[2]=mas[r];
                                                                pl1=pl2;
                                                             }
                                                     }
У тебя получается в массиве tri[] три точки, образующие треугольник наименьшей площади.
Если нужно показывать графически, то вместо /********/ пусть вызывается ф-я которая строит треугольник с точками mas[k],mas[t],mas[r]. В конце выполнения программы на экране будет треугольник, вызывай ту же ф-ю, c наименьшей площадью, только вызывай её с координатами из массива tri[];
Yandex
Объявления
13.04.2007, 22:54     Выбрать такие три точки из множества, не лежащие на одной прямой, которые составляют треугольник min площади
Ответ Создать тему
Опции темы

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