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

Ошибка с vector - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Матрица L(n, k), состоящая из нулей и единиц, записана в файл http://www.cyberforum.ru/cpp-beginners/thread1180084.html
Матрица L(n, k), состоящая из нулей и единиц, записана в файл. Структура файла следующая: сначала записана размерность матрицы, а затем матрица L. Найти в ней самую длинную цепочку подряд стоящих...
C++ Обеспечить перегрузку оператора возведения в степень (^) комплексных чисел Здравствуйте, помогите пожалуйста решить следующее задание Составить описание класса для представления комплексных чисел (в тригонометрической форме). Обеспечить перегрузку оператора возведения в... http://www.cyberforum.ru/cpp-beginners/thread1180082.html
Найти минимальный элемент в столбце и поменять его местами с первым C++
Здравствуйте. Я что то вообще не соображаю: не могу такое легкое задание сделать. Полностью задание: дана матрица С размером МхН. нужно поменять местами минимальный элемент столбца с первым элементом...
Доделать программу С++ C++
Помогите пожалуйста доделать программу. Нужно , чтобы при вводе дробных чисел программа выдавала сообщение "Нужно ввести целое число" Вот задание "Написать программу , которая выводит минимальный...
C++ Найти количество вхождений одной строки в другую, один момент пояснить http://www.cyberforum.ru/cpp-beginners/thread1180062.html
Задание такое : найти количество вхождений одной строки в другую. На просторах интернета нашел условие с помощью которого можно это сделать, но сам разобрался. Можете пояснить while, что значит ...
C++ Считывание из файла определенного формата Доброе время суток, запутался тут, помогите пожалуйста. информация в файле представлена следующим образом Статья{статья=S,жен,неод=им,ед}... подробнее

Показать сообщение отдельно
Gmails
6 / 6 / 2
Регистрация: 08.04.2014
Сообщений: 248

Ошибка с vector - C++

18.05.2014, 21:58. Просмотров 225. Ответов 2
Метки (Все метки)

не могу записать координаты,стояла студия 12 все норм было.
сейчас 10 эксперсс стоит.вот проблема:
C++
1
2
3
4
5
6
7
8
9
10
std::vector<pt> a = {
        {2, 2},
        {3, 4},
        {1, 4},
        {2, 7},
        {4, 7},
        {5, 4},
        {5, 1},
        {7, 4}
    };
вот полный код программы:
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
#include <algorithm>
#include <iostream>
#include <vector>
 
using namespace std;
 
struct pt {
    double x, y;
};
 
bool cmp (pt a, pt b) {
    return a.x < b.x || a.x == b.x && a.y < b.y;
}
 
bool cw (pt a, pt b, pt c) {
    return a.x*(b.y-c.y)+b.x*(c.y-a.y)+c.x*(a.y-b.y) < 0;
}
 
bool ccw (pt a, pt b, pt c) {
    return a.x*(b.y-c.y)+b.x*(c.y-a.y)+c.x*(a.y-b.y) > 0;
}
 
void convex_hull (vector<pt> & a) {
    if (a.size() == 1)  return;
    sort (a.begin(), a.end(), &cmp);
    pt p1 = a[0],  p2 = a.back();
    vector<pt> up, down;
    up.push_back (p1);
    down.push_back (p1);
    for (size_t i=1; i<a.size(); ++i) {
        if (i==a.size()-1 || cw (p1, a[i], p2)) {
            while (up.size()>=2 && !cw (up[up.size()-2], up[up.size()-1], a[i]))
                up.pop_back();
            up.push_back (a[i]);
        }
        if (i==a.size()-1 || ccw (p1, a[i], p2)) {
            while (down.size()>=2 && !ccw (down[down.size()-2], down[down.size()-1], a[i]))
                down.pop_back();
            down.push_back (a[i]);
        }
    }
    a.clear();
    for (size_t i=0; i<up.size(); ++i)
        a.push_back (up[i]);
    for (size_t i=down.size()-2; i>0; --i)
        a.push_back (down[i]);
}
 
int main() {
    std::vector<pt> a = {
        {2, 2},
        {3, 4},
        {1, 4},
        {2, 7},
        {4, 7},
        {5, 4},
        {5, 1},
        {7, 4}
    };
 
    convex_hull(a);
    for (const auto& pt : a) {
        std::cout << pt.x << " " << pt.y << std::endl;
    }
}
Добавлено через 1 час 38 минут
up!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru