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

Найти паралелограмм с наибольшим количеством точек - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив. Поменять местами максимальные и минимальные элементы массива http://www.cyberforum.ru/cpp-beginners/thread744083.html
Здраствуйте,помогите решить задачу Дана квадратная матрица поменять местами максимальные и минимальные элементы массива решить в Borland в окне application
C++ Класс "алфавит" Добрый день! Просьба помочь. Во вложении задание. Сделал все, кроме 3 пункта. Необходимо задать память динамически, создать копирующий конструктор и переопределить экземпляр класса. #include<conio.h> #include<iostream.h> #include<stdio.h> #include<stdlib.h> #include<string.h> #include<iomanip.h> class alphabet {private: int n;char c; http://www.cyberforum.ru/cpp-beginners/thread744082.html
Дан упорядоченный по неубыванию массив A из N чисел и число X C++
Дан упорядоченный по неубыванию массив A из N чисел и число X. Получить массив B, вставив X в A так, чтобы B был упорядочен по неубыванию. Зарание Благодарен.
Тест по c++ C++
Вариант 3 1. Есть ли тут ошибка, если да, то какая? class T { int p; public: void f(int a); }; 2.Если тело метода f занимает 20 строк кода, то какая реализация метода лучше? 1
C++ Перевод целого (дробного) числа из двоичной системы счисления в десятичную http://www.cyberforum.ru/cpp-beginners/thread744033.html
Здравствуйте. Написали программу в С++, но считает не все значения. помогите найти ошибку. #include <stdio.h> #include <math.h> #include <iostream> #include <conio.h> using namespace std; int main () {
C++ Упорядовачивание одномерного массива через функцию Суть задания : разместить все элементы с положительными значениями в левой части массива, элементы с отрицательными значениями в правой части массива, а нули между ними. Обязательные условия : 1)одномерный массив из 100 эл. заполнить рандомно в диапазоне от -100 до +100 2)использовать 3 функции (с этим самая сложность) Добавлено через 4 минуты #include <iostream> подробнее

Показать сообщение отдельно
Alleshka
0 / 0 / 0
Регистрация: 24.12.2012
Сообщений: 7

Найти паралелограмм с наибольшим количеством точек - C++

24.12.2012, 09:59. Просмотров 324. Ответов 1
Метки (Все метки)

Приветствую всех. Обращаюсь с помощью, так как эта программа уже выводит меня из себя. Задание состоит в следующем:

"Даны N точек на плоскости. Найти среди них точки являющиеся вершинами фигуры, содержащей максимальное число заданных точек. Фигура - параллелограм."

В общем, формулируя более простым языком, дано много много точек, надо из них составить паралелограмм с наибольшим количеством точек, входящих в этот же паралеллограм.

Пытался проделать следующее:

Отсортировав все точки, которые идут из двух входных файлов, перебираю все точки. Кстати, с сортировкой тоже есть проблемы. Дальше, проверяю прямые на парную параллельность и, если они паралельны, то проверяю другие прямые. Если 4 прямые попарно паралельны, это параллелограм, проверял через угол наклона. Но уже на этом этапе столкнулся с проблемой, если прямая перпендикулярна Ох, то, по формуле, происходит деление на ноль.


После того, как находим паралелограм хотел перевести все 4 прямые в уравнение прямой, а дальше проверить неравенством.


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


Формулы:

k - Коэффициент наклона
k=(Y2-Y1)/(X2-X1);
b=(X2*Y1-Y2*X1)/(X2-X1);

Уравнение прямой:
y=k*x+b;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru