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

Как найти трапеции среди заданных точек на плоскости? - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Как перейти от метода половинного деления к методу хорд? http://www.cyberforum.ru/cpp-beginners/thread1032699.html
Помогите изменить код, я совсем не понимаю, как записать метод хорд в с++:cry: #include <iostream> #include <math.h> using namespace std; struct perem { double g,a,b,c,chislo,e; } p;
C++ Программа сортировки массива методом пузырька Здравствуйте! Пожалуйста, помогите написать программу! Вот задание: Создать на C++ Builder программу сортировки массива в порядке возрастания методом парных перестановок. Просмотр элементов массива должен осуществляться в направлении «снизу вверх». Вид внешнего цикла – цикл с предусловием. Вид внутреннего цикла – цикл с постусловием. Считать, что массив не может содержать более 450... http://www.cyberforum.ru/cpp-beginners/thread1032693.html
Код с Паскаля на С++ C++
Помогите, пожалуйста, переписать код с Паскаля на С++. А то я синтаксис С++ знаю, а вот в Паскале никогда не работал, т.е. начал изучение с С++... program Queens; const N=8; type Index=1..N; Rasstanovka=array of 0..N; var X:Rasstanovka; Count:word; function P(var X:Rasstanovka;k,y:Index):boolean; var i:Index; begin
C++ Считать строки из файла в массив ++
Напишите программный код для считывания строк файла в элементы массива. Заранее спасибо!
C++ Возможно ли на c++ написать простой видеочат http://www.cyberforum.ru/cpp-beginners/thread1032688.html
Привет, мир! Помогите разрешить спор, мы с другом поспорили. Возможно ли на c++ написать простой видеочат? Я говорю да, а он нет.
C++ Сложение, вычитание, умножение полиномов Пожалуйста, объясните, как работает эта программа? Особенно вот этот кусочек: class polynomial { public: int *coeff, degree; /* variable declaration */ int get_data(); /*function declaration */ int display(int *coeff, int degree); void addition(polynomial P1, polynomial P2); void substraction(polynomial P1, polynomial P2); подробнее

Показать сообщение отдельно
DooDly
0 / 0 / 0
Регистрация: 26.09.2013
Сообщений: 11
08.12.2013, 01:37     Как найти трапеции среди заданных точек на плоскости?
Задано N точек, среди них нужно найти все трапеции и вывести координаты той(тех), в которой содержится наибольшее кол-во заданных точек.
В вики трапеция определяется как четырехугольник, у которого только пара сторон параллельны. Следовательно, можно в цикле N раз брать точку, находить направляющие вектора(дальше просто "вектора") до каждой точки кроме ее самой(N-1), от той в свою очередь находить вектора до каждой точки кроме первых двух(N-2), то же самое с третьей(N-3), а от четвертой только найти вектор до первой. Так мы переберем все четырехугольники. Затем мы сравниваем вектора и если два равны, а два других нет, то фигура будет являться трапецией. Далее проверяем не было ли у нас трапеции с такими же координатами и, если нет, то находим кол-во входящих в нее точек(тоже хороший вопрос - думал найти площадь трапеции и сравнить ее с суммой площадей 4-х треугольников с вершинами: проверяемая точка и две рядом лежащие вершины трапеции. но, даже если не считать вершины трапеции входящими точками, нам нужно проверить N-4 точек, что не очень хорошо), записываем в файл координаты вершин трапеции и кол-во входящих точек, а также кол-во точек в какую-нибудь переменную Max, если прошлое значение меньше. Потом просто выводим Max и координаты трапеций содержащие Max точек. Вот, собственно, единственный алгоритм, который пришел в голову.
Вопрос: есть ли более простой способ решения этой задачи? Или какие-нибудь замечания по моему способу и будет ли он корректно работать?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru