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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Nalale
3 / 3 / 0
Регистрация: 19.03.2013
Сообщений: 34
#1

Векторы - C++

19.03.2013, 11:33. Просмотров 507. Ответов 7
Метки нет (Все метки)

Создаю вектор vector<vector<Point>> contours;
После чего мне нужно создать аналогичный простой массив Array, элемент которого был бы тоже содержал массив точек. Пожалуйста, подскажитекак это реализовать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 11:33
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Векторы (C++):

Векторы - C++
Добрый день форумчане! обнаружил что вектор можно объявить следующим образом : vector&lt;MyClass *,MyClass2 *&gt; vector_name; ...

Векторы в с++ - C++
Привет мостера помогите решить задания. Реализовать структуру данных вектор, содержащий следующие методы: добавить...

векторы С++ - C++
С текстового файла считать действительные числа в вектор. С вектора удалить все нечетные положительные числа. Образованные элементы...

Векторы - C++
Здравствуйте. Использую векторы типа vector&lt;string&gt; sentence;. Описываю их в классе в private объявляю vector&lt;string&gt; sentence;/ В public...

Векторы - C++
Доброго времени суток! Очень нужна помощь в двух задачах. Заранее спасибо! 1. Дан целочисленный вектор С(6). Найти сумму тех его...

Векторы - C++
Определите полусумму длин двух векторов А(1,5; 2,5; -0,3) и В(-11,7; -9,3; 2,5; 3,7; -1,2). Вычислите, длины вектора оформив в виде функции.

7
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
19.03.2013, 11:38 #2
C++
1
std::vector<Point> ar[10];
0
Nalale
3 / 3 / 0
Регистрация: 19.03.2013
Сообщений: 34
19.03.2013, 11:45  [ТС] #3
Цитата Сообщение от yuron_477 Посмотреть сообщение
C++
1
std::vector<Point> ar[10];
В таком случае он опять создаст вектор из 10 элементов.
0
DiffEreD
1431 / 768 / 95
Регистрация: 21.06.2011
Сообщений: 1,740
Записей в блоге: 2
19.03.2013, 11:52 #4
Ну тогда наверное:
C++
1
Point ar[10][10];
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
19.03.2013, 15:46 #5
Цитата Сообщение от Nalale Посмотреть сообщение
C++
1
std::vector<Point> ar[10];
В таком случае он опять создаст вектор из 10 элементов.
С какого перепугу? ar - массив из 10 элементов, каждый из которых имеет тип std::vector<Point>.
0
Nalale
3 / 3 / 0
Регистрация: 19.03.2013
Сообщений: 34
19.03.2013, 16:34  [ТС] #6
Цитата Сообщение от Tulosba Посмотреть сообщение
С какого перепугу? ar - массив из 10 элементов, каждый из которых имеет тип std::vector<Point>.
Хорошо. Тогда поправте меня если я ошибусь.
Например создаем такой массив, элементы которого имеют тип vector<int>, из 5 элеменов и попытаемся заполнить его какиминибудь значениями.

C++
1
2
3
vector<int> ar[5];
    for (int i = 0; i < 5; i++ ){
        ar[i] = i +5;}
Верная реализация или нет?
0
Tulosba
:)
Эксперт С++
4396 / 3232 / 297
Регистрация: 19.02.2013
Сообщений: 9,045
19.03.2013, 16:48 #7
Цитата Сообщение от Nalale Посмотреть сообщение
Верная реализация или нет?
Нет. Этот код даже не скомпилируется. Вы пытаетесь присваивать целое число (int) вектору (std::vector). Вообще, мало хорошего в смешивании кода обычных массивов и стандартных контейнеров.
0
-=ЮрА=-
Заблокирован
Автор FAQ
19.03.2013, 17:02 #8
Цитата Сообщение от Nalale Посмотреть сообщение
Создаю вектор vector<vector<Point>> contours;
После чего мне нужно создать аналогичный простой массив Array, элемент которого был бы тоже содержал массив точек. Пожалуйста, подскажитекак это реализовать.
очень просто
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
#include <iostream>
using namespace std;
 
struct Point
{
    double x;
    double y;
};
 
int main()
{
    int i;
    vector <Point> vec;
    Point pt  = {0};
    for(i = 0; i < 15; i++)
    {
        pt.y  = i;
        vec.push_back(pt);
    }
    Point * array = &vec[0];
    for(i = 0; i < 15; i++)
        cout<<array[i].x<<" - "<<array[i].y<<endl;
    return 0;
}
причём пару дней назад на форуме проскакивал аналогичный вопрос
Проверка здесь
http://codepad.org/hoHMbl9G
Output:
0 - 0
0 - 1
0 - 2
0 - 3
0 - 4
0 - 5
0 - 6
0 - 7
0 - 8
0 - 9
0 - 10
0 - 11
0 - 12
0 - 13
0 - 14
Добавлено через 8 минут
Цитата Сообщение от Nalale Посмотреть сообщение
vector<vector<Point>>
- дляя двумерки будет так
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
#include <vector>
#include <iostream>
using namespace std;
 
struct Point
{
    double x;
    double y;
};
 
int main()
{
    int i;
    int j;
    vector < vector< Point > > vec;
    Point pt  = {0};
    vector <Point> data;
    for(i = 0; i < 3; i++)
    {
        data.resize(0);
        for(j = 0; j < 15; j++)
        {
                        pt.x  = i;
            pt.y  = j;
            data.push_back(pt);
        }
        vec.push_back(data);
    }
    Point ** array = new Point * [3];
    for(i = 0; i < 3; i++)
        array[i] = &vec[i][0];
    for(i = 0; i < 3; i++)
    for(j = 0; j < 15; j++)
        cout<<array[i][j].x<<" - "<<array[i][j].y<<endl;
    return 0;
}
http://codepad.org/WX65RKUq
0 - 0
0 - 1
0 - 2
0 - 3
0 - 4
0 - 5
0 - 6
0 - 7
0 - 8
0 - 9
0 - 10
0 - 11
0 - 12
0 - 13
0 - 14
1 - 0
1 - 1
1 - 2
1 - 3
1 - 4
1 - 5
1 - 6
1 - 7
1 - 8
1 - 9
1 - 10
1 - 11
1 - 12
1 - 13
1 - 14
2 - 0
2 - 1
2 - 2
2 - 3
2 - 4
2 - 5
2 - 6
2 - 7
2 - 8
2 - 9
2 - 10
2 - 11
2 - 12
2 - 13
2 - 14
2
19.03.2013, 17:02
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2013, 17:02
Привет! Вот еще темы с ответами:

Векторы!!! - C++
Как найти произведение двух векторов и записать это в рабочем варианте допустим у меня 1 вектор(5,6,7) и второй (7,8,9) мне что нужно...

Векторы! - C++
Введите вектор и найдите его норму: сумму абсолютных величин координат. Что значит сумму абсолютных величин координат. объясните сам...

Векторы - C++
Изучаю сейчас библиотеку vector. #include &lt;vector&gt; int main() { std::vector&lt;int&gt; v(2); // Создаем вектор, состоящий из двух...

Векторы - C++
Имеется структура &quot;Магазины&quot;, где в качестве полей есть: Название, Город, Средняя зарплата сотрудников и Количество сотрудников. Также...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru