Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ Как задать локаль для потока? Задача прочитать UTF-8 без BOM из файла в std::wstring. Однобайтные символы читаются, а кириллица нет. Если поставить Fille.imbue("ru_RU.UTF8");, или std::locale::global(std::locale("ru_RU.UTF8"));, прога аварийно завершается. https://www.cyberforum.ru/ cpp-beginners/ thread857098.html C++ Даны два массива размерности N*M и K*P. Cформировать новые одномерные массивы
:cry:Очень прошу, помочь мне с задачами, никак не получаются, через несколько часов сдавать!!!! 1.Даны два массива размерности N*M и K*P. Из элементов не превыщающих пяти первого массива и эл не превашающих р второго массива сформировать новые одномерные массивы. Буду очень вам благодарна!!!!
C++ Связной список и сортировка https://www.cyberforum.ru/ cpp-beginners/ thread857087.html
Помогите написать прогу: Реализующую связный список с информацией о сотрудниках и отображающую список в порядке возрастания возраста сотрудника В виду Фамилия Имя Отчество Возраст
C++ Сумма цифр заданного числа N https://www.cyberforum.ru/ cpp-beginners/ thread857075.html
Добрый день ! Помогите написать программу , вычисляющую сумму цифр заданного числа N. Рекурсивным и не рекурсивным способом. Заранее огромное спасибо !!!
C++ Esc как символ конца ввода
Доброго времени суток. Есть такой вопрос. Как мне закончить ввод при нажатии esc. Например, если пользователь вводит некий текст (через cin например) и нажимает enter, то ввод заканчивается и этот текст идет дальше по функции, но если он нажал esc, то должен произойти выход из этой функции. Надеюсь мысль ясна, заранее спасибо.
C++ Количество символов в текстовом файле Доброго почти утра вам=) Такой вопрос, можно ли определить длину текстового файла? Файл открыл через fopen, а теперь нужно присвоить переменной количество символов в этом файле. Чем воспользоваться?=)) https://www.cyberforum.ru/ cpp-beginners/ thread857026.html
C++ Как передать массив в функции Здравствуйте друзья! Я переписываю достаточно большую программу с Delphi 7 на C++. Код я уже весь адаптировал, компилятор ошибок не выдает, начал тестировать и понял, что прога пока ничего не выполняет. Причина в следующем(попробую описать проблемное место): ............................. const int O1sc = {1,2,3,4, 5,14,15,23};//в самом начале определяю нужный массив... https://www.cyberforum.ru/ cpp-beginners/ thread857012.html Перегрузка оператора сравнения и сортировка C++
Имеется класс строка на основе vector<char>. У меня не получается перегрузить оператор сравнения. И потом с помощью vector создать массив строк и для них написать сортировку. #include<iostream> #include<time.h> #include<stdlib.h> #include <vector> using namespace std; class stroka { public: vector <char> bukvi;
C++ Конструктор копирования class alpha { public: alpha(alpha& a) { //код } }; Подскажите, почему компилятор ругается если я пытаюсь передать аргумент по значению ( alpha(alpha a) )? В книге пишется что конструктор в таком случае пытается вызвать сам себя, но я не понимаю как это. https://www.cyberforum.ru/ cpp-beginners/ thread857008.html C++ Подскажите пожалуйста по шрифтам в cpp https://www.cyberforum.ru/ cpp-beginners/ thread857003.html
Подскажите пожалуйста, как сделать, что бы вывод на экран или в фаил осуществлялся тем шрифтом которым я хочу??? Например шрифтом Calibri. #include<iostream> using namespace std; int main() { cout<<"Hello"; } Как вывести Hello шрифтом Cаlibri и размером 18??? Заранее спасибо. P.S. Как вывести Hello жирным, курсивом, с подчеркиванием???
Динамический массив и файлы C++
Здравствуйте, дали мне такое задание.... ---- Выполнить задание, используя динамическое выделение памяти для одномерного массива. Дано (в текстовом файле) n≥10^9 натуральных чисел (каждое число ≤10^4). Получить массив в котором все числа исходного файла расположены по возрастанию значений; ---- Но вот с какой проблемой я столкнулся: 10 в 9 степени чисел это огромное число которое не может...
C++ Ввести строку символов а)вручную, б)из файла и проверить ее на наличие латинских букв https://www.cyberforum.ru/ cpp-beginners/ thread856995.html
Ни черта не понимаю в работе со строками, прошу помощи у данного форума Нужно: Ввести строку символов а)вручную, б)из файла и проверить ее на наличие латинских букв
0 / 0 / 0
Регистрация: 06.05.2013
Сообщений: 18
13.06.2013, 23:33  [ТС] 0

Найти всевозможные группы по 3,4. точки, лежащие на одной прямой - C++ - Ответ 4717652

13.06.2013, 23:33. Показов 3498. Ответов 16
Метки (Все метки)

Ответ

Цитата Сообщение от kamre Посмотреть сообщение
Вот такой вариант:
Кликните здесь для просмотра всего текста
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
#include <set>
#include <vector>
#include <algorithm>
#include <functional>
#include <fstream>
#include <iostream>
 
using namespace std;
using namespace std::placeholders;
 
typedef pair<int, int>         point_t;
typedef set<point_t>           points_t;
typedef pair<point_t, point_t> line_t;
typedef vector<line_t>         lines_t;
typedef vector<points_t>       groups_t;
 
bool point_on_line(const point_t & p, const line_t & l)
{
    int dx = l.second.first - l.first.first;
    int dy = l.second.second - l.first.second;
    int x0 = l.first.first;
    int y0 = l.first.second;
    return -dy*(p.first - x0) + dx*(p.second - y0) == 0;
}
 
bool same_line(const line_t & l0, const line_t & l1)
{
    // compute line directions
    int dx0 = l0.second.first - l0.first.first;
    int dx1 = l1.second.first - l1.first.first;
    int dy0 = l0.second.second - l0.first.second;
    int dy1 = l1.second.second - l1.first.second;
    // compare directions
    if (dx0*dy1 - dy0*dx1 != 0)
        return false;
    // check if first point of l0 is on l1
    return point_on_line(l0.first, l1);
}
 
int main()
{
    // read points from file
    ifstream inp("input.txt");
    int n;
    inp >> n;
    points_t pts;
    while (n--) {
        int x, y;
        inp >> x >> y;
        pts.insert(point_t(x, y));
    }
 
    // unique lines
    lines_t ls;
 
    // groups of points on the same line
    groups_t gs;
 
    // consider all pairs of points
    for (auto p0 = pts.begin(); p0 != pts.end(); ++p0) {
        for (auto p1 = p0; ++p1 != pts.end();) {
            // check if line for pair of points was already considered
            line_t l(*p0, *p1);
            auto it = find_if(ls.begin(), ls.end(), bind(same_line, l, _1));
            if (it != ls.end())
                continue;
            ls.push_back(l);
            // compute all points on the line
            points_t g = { *p0, *p1 };
            for (auto p2 = p1; ++p2 != pts.end();) {
                if (point_on_line(*p2, l))
                    g.insert(*p2);
            }
            if (g.size() > 2)
                gs.push_back(g);
        }
    }
 
    // print groups of points
    for (size_t i = 0; i < gs.size(); ++i) {
        cout << i << ":";
        for (auto p : gs[i]) {
            cout << " (" << p.first << "," << p.second << ")";
        }
        cout << endl;
    }
}
На чем писал? В Visual Studio выдает не мало ошибок. Консольное это?

Вернуться к обсуждению:
Найти всевозможные группы по 3,4. точки, лежащие на одной прямой C++
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.06.2013, 23:33
Готовые ответы и решения:

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

Из множества точек выбрать три точки, не лежащие на одной прямой, составляющие треугольник наименьшей площади
Разработать программу выбора из заданного на плоскости множества точек N (N вводится) трех точек,...

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

Определить, лежат ли три точки A, B, C на одной прямой. Если нет, найти угол ABC
Даны три точки A(x_1, y_1), \, B(x_2, y_2), \, C(x_3, y_3) Определить будут ли они...

16
13.06.2013, 23:33
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.06.2013, 23:33
Помогаю со студенческими работами здесь

Найти всевозможные группы по 3, 4 точки, лежащие на одной прямой
Здравствуйте!!! Помогите, пожалуйста, решить задачку на VBA. На плоскости заданы своими...

Даны три точки А,В,С, лежащие на одной прямой. Определить расположение точки С относительно луча АВ
Проверьте пожалуйста формулу для вычисления данной задачи, что не так? Даны три точки А,В,С,...

Выберите такие три точки, не лежащие на одной прямой
Нужно написать модуль по заданию &quot;Из заданного на плоскости множества точек выберите такие три...

Определить минимальное подмножество точек, после удаления которых останутся точки лежащие на одной прямой
задано множество точек на плоскости,не лежащих на одной прямой.Определить минимальное подмножество...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru