Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 29
1

Функция не видит vector

20.04.2016, 21:31. Показов 820. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Функция не видит vector
Что я делаю не так ??? жду помощи
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
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
#include "stdafx.h"
#include <stdlib.h>
#include<iostream>
#include <conio.h>
#include <stdio.h>
#include <cstdio>
#include <string.h>
#include <algorithm>
#include <vector>
#include <math.h>
struct point {
    int x, y;
    point() {}
    point(int a, int b) : x(a), y(b) {}
    point operator - (point a) {
        return point(x - a.x, y - a.y);
    }
};
point p0, p1, p2;
point p[200];
 
template <class T >;
 
void  leftpoint(vector <T> &ob) {// саму нижню 
    int min_ = 0;
    for (int j = 0; j< 12;j++) {
        if (p[j].x < p[min_].x)
            min_ = j;
        else
            if (p[j].x == p[min_].x) // 
                if (p[j].y < p[min_].y)
                    min_ = j;
    }
    p0 = p[min_];
    sort(p, p + 4, l); // відносно кута і першої
 
    for (int i = 0; i < 12; i++) {
        while (ob.size() >= 2 && vp(ob[ob.size() - 1] - ob[ob.size() - 2], p[i] - ob[ob.size() - 1]) <= 0)
            ob.pop_back();
        ob.push_back(p[i]);
    }
    if (ob.size() == 12)
        return 1;
}
// Ориентированная площадь 
int vp(point a, point b) {
    return a.x*b.y - a.y*b.x;
}
 
// Расстояние между точками
int dist(point p1, point p2) {
    return (p2 - p1).x * (p2 - p1).x + (p2 - p1).y*(p2 - p1).y;
}
 
// порівння сортування
bool l(point p1, point p2) {
    return vp(p1 - p0, p2 - p0) > 0 || (vp(p1 - p0, p2 - p0) == 0 && dist(p0, p2) < dist(p0, p1));
}
 
// Точки
using namespace std;
int main() {
    //freopen("convex.in", "r", stdin);
    //  freopen("convex.out", "w", stdout);
    int  i, min_ind = 0;
    
    for (i = 0; i < n; i++)
        cin >> p[i].x >> p[i].y;
    
    vector <point> T;
    if (leftpoint(T) == 1) {
        cout << "12"<< endl; // кколво точок
 
                              //cout << endl;
        cout << p[i].x << " " << p[i].y << endl;
 
        // вивів точку
 
        //знаходимо всі діагоналі , потім сортуємо їх
        int rex = 0, rey = 6;
        int k1, w1, k2, w2;
        double a[6], b[6];
        for (int i = 0;i < 6;i++) {
            k1 = p[rex].x;
            w1 = p[rex].y;
            k2 = p[rey].x;
            w2 = p[rey].y;
            a[i] = sqrt(((k1 - k2)*(k1 - k2) + (w1 - w2)*(w1 - w2)));
            b[i] = a[i];
            rex++;
            rey++;
        }
        sort(a, a + 6);
        int d1, d2;
        for (int i = 0;i < 6;i++)
        {
            if (a[0] == b[i])
                d1 = i;
            else
                if (a[1] == b[i] && a[5] != a[4])
                    d2 = i;
        }
        int res1x, res1y, resx2, resy2;
        switch (d1) {
        case 0:
            res1x = p[0].x;
            res1y = p[0].y;
            resx2 = p[6].x;
            resy2 = p[6].y;
            break;
        case 1:
            res1x = p[1].x;
            res1y = p[1].y;
            resx2 = p[7].x;
            resy2 = p[7].y;
            break;
        case 2:
            res1x = p[2].x;
            res1y = p[2].y;
            resx2 = p[8].x;
            resy2 = p[8].y;
            break;
        case 3:
            res1x = p[3].x;
            res1y = p[3].y;
            resx2 = p[9].x;
            resy2 = p[9].y;
            break;
        case 4:
            res1x = p[4].x;
            res1y = p[4].y;
            resx2 = p[10].x;
            resy2 = p[10].y;
            break;
        case 5:
            res1x = p[5].x;
            res1y = p[5].y;
            resx2 = p[11].x;
            resy2 = p[11].y;
            break;
        }
        int ress1x, ress1y, ressx2, ressy2;
        switch (d2) {
        case 0:
            ress1x = p[0].x;
            ress1y = p[0].y;
            ressx2 = p[6].x;
            ressy2 = p[6].y;
            break;
        case 1:
            ress1x = p[1].x;
            ress1y = p[1].y;
            ressx2 = p[7].x;
            ressy2 = p[7].y;
            break;
        case 2:
            ress1x = p[2].x;
            ress1y = p[2].y;
            ressx2 = p[8].x;
            ressy2 = p[8].y;
            break;
        case 3:
            ress1x = p[3].x;
            ress1y = p[3].y;
            ressx2 = p[9].x;
            ressy2 = p[9].y;
            break;
        case 4:
            ress1x = p[4].x;
            ress1y = p[4].y;
            ressx2 = p[10].x;
            ressy2 = p[10].y;
            break;
        case 5:
            ress1x = p[5].x;
            ress1y = p[5].y;
            ressx2 = p[11].x;
            ressy2 = p[11].y;
            break;
        }
        cout << res1x << " " << res1y << " " << resx2 << " " << resy2 << endl;
        cout << ress1x << " " << ress1y << " " << ressx2 << " " << ressy2 << endl;
    }
    else {
        cout << "ERROR";
        _getch();
        return 0;
    }
 
    _getch();
    return 0;
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2016, 21:31
Ответы с готовыми решениями:

При include<vector> не включает и не видит vector
Не видит vector: //--ClassNeuron.h #ifndef NEURON_H #define NEURON_H #include &lt;cstdlib&gt;...

Не работает функция sort (vector, vector)
#include &lt;iostream&gt; #include &lt;conio.h&gt; #include &lt;vector&gt; #include &lt;string&gt; #include &lt;algorithm&gt;...

Компилятор не видит vector
#include &lt;vector&gt; using std::vector; vector&lt;double&gt; v; выбивает ошибку вектор не стд, вектор не...

Visual Studio 2010 не видит vector в C++
Добрый день! Прошу помощи у знающих людей...Vector не распознается как тип, но и такое чувство, что...

2
161 / 153 / 92
Регистрация: 18.11.2015
Сообщений: 677
20.04.2016, 21:44 2
Строка 22: скорее всего, убрать точку с запятой надо.
Строка 67: что за n?
Строка 71: ты не можешь писатьif (leftpoint(T) == 1), когда у тебя leftpoint() ничего не возвращает, она у тебя void.
using namespace std; пиши сразу после инклюдов
0
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 29
20.04.2016, 21:50  [ТС] 3
Ща поправлю натупил немножко =)

Добавлено через 3 минуты
Спасибо поправил пашет
0
20.04.2016, 21:50
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
20.04.2016, 21:50
Помогаю со студенческими работами здесь

Функция, возвращающая vector
Решил реализовать шарповскую String.Split(). Она должна возвращать vector&lt;string&gt;, следовательно...

Функция Erase класса vector
Нужно удалить из вектора, в котором объекты авторского класса, объекты с весом более 300. Написал...

функция для класса Vector
я написала класс полиномов 4й степени, сделала по нему калькулятор - все работает. создала класс...

vector и функция read() из STL
Привет всем, мой первый вопрос на этом форуме... Вот: Пишу программу &quot;Список сотрудников&quot;, в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru