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

Определить окружность, проходящую через k (k>=3) точек каждого из двух непересекающихся множеств - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка с функцией http://www.cyberforum.ru/cpp-beginners/thread621063.html
Выполняю пример из книги, раздел про функции. Одно из условий здачи написать функцию для ввода массива. У меня подчеркивет в main() функцию vvod() и пишет "для агрегатного объекта требуется инициализация с использованием {...}". #include <iostream> const int size = 10; int vvod(); int main() {using namespace std; int mas = vvod(); }
C++ Не выполняется действия в функциях В программе осуществляется ввод целых чисел ( при вводе 0 происходит остановка дальнейшего ввода чисел в массив ), затем последовательность и сумма чисел массива выводятся на экран. #include <iostream> #include <locale> using namespace std; int summ(int intArray, int sizeArray); void Display(int intArray, int sizeArray); http://www.cyberforum.ru/cpp-beginners/thread621052.html
Сформировать файл из действительных чисел. Найти расположенные в порядке убывания их модулей C++
В этой программе представлен алгоритм решения: Сформировать файл из действительных чисел. Найти наибольшее из значений модулей компонентов с четными номерами. А мне нужно так: Сформировать файл из действительных чисел. Найти расположенные в порядке убывания их модулей. Возможна она с ошибкой, помогите мне исправить. #include "stdafx.h" #include "iostream" #include "conio.h" #include...
C++ Обратная формула
Задача есть формула: a=(a1+7)%10; Как будет обратная формула для получения a1 ? задача 3.46 Дейтела все сделал а тут затык. Помогите. Спасибо.
C++ Массивы. Ошибка в программе http://www.cyberforum.ru/cpp-beginners/thread621030.html
Помогите, пожалуйста, решить задачу! Почему не проверяется условие с массивом. Что не так? Весь текстовый файл у меня забит словами "Clean". #include <fstream> #include <iostream> using namespace std; void main() { const int number = 10; char mass ;
C++ Подсчет частоты встречи слов от 1 до 10 букв Подсчет частоты встречи слов от 1 до 10 букв(включительно) в текстовых файлах русского алфавита. Нужно подсчитать и сделать в stringird некую статистику: длина слова, количество встреченных слов в тексте, частоты появления (в % от общего количества слов в тексте) подробнее

Показать сообщение отдельно
IGPIGP
Комп_Оратор)
 Аватар для IGPIGP
6235 / 2964 / 288
Регистрация: 04.12.2011
Сообщений: 7,915
Записей в блоге: 3
09.07.2012, 13:26     Определить окружность, проходящую через k (k>=3) точек каждого из двух непересекающихся множеств
Цитата Сообщение от Catstail Посмотреть сообщение
1) взять три любые точки из набора
2) если они лежат на одной прямой - набор отвергается
3) в противном случае получаем центр и радиус и проверяем остальные k-3 точки на принадлежность
к этой окружности. Если принадлежат - набор в зачёт. Иначе - взять следующий набор.
Я думаю о чём-то похожем:
Пусть множества точек A и В.
1) Создаём набор для выборки - поисковый набор точек множества A0. Вначале в него входят все точки А.
2) Создаём набор A(3,n) для сохранения окружностей содержащий 3 точки из А и n точек из B. В начале A(3, n) пуст.
3) Из набора A0 выбираем пару точек.
3.1.) Выбираем последовательно по одной точке из A формируя тройку, точки лежащие на прямой пропускаем.
3.2.) Для каждой тройки как только она получена, выбираем последовательно точки из B. Сделав полный перебор B, выясняем принадлежит ли данной окружности заданной А-тройкой три и более точек из B.
-Если да то A-тройка и B-n точек (n>=3) добавляется в набор А(3, n)
-Если нет (даже B-тройки не нашлось), - удаляем исходную пару точек из поискового набора A0.
4. Выбираем следующую пару из A0 п.3.
5. Продолжаем пока в A0 есть три и более точек.
Далее из A-троек точек А(3, n) формируем поисковый набор A1 (его формат - тройки а не отдельные точки как в A1) и пустой набор окружностей А(4,n).
Нас интересуют для A1 только окружности с n>3 (точек B три и более для каждой A-тройки).
теперь же A-тройки уже сформированы и нужно последовательно выбирать четвёртую точку из A.
5.1. Выбираем последовательно из A1 по одной точке не совпадающей с каждой из исходной A-тройки. Проверяем на принадлежность окружности исходной A-тройки.
Если да добавляем полученную А-четвёрку и n из A(3, n) в набор A(4,n).
Если нет, - (для всех последовательно выбранных точек по 5.1) - удаляем запись 3,n из поискового набора A1.
И так пока A1 содержит 4 и более точек.
Далее формируем А2 из полученного A(4,n)....
Рано или поздно для набора Ap не найдётся p точек в наборе A(p-1, n).
Это долго. Но ничего интереснее пока не придумал.
 
Текущее время: 09:16. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru