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

vector C++ присвоить в массив - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 17, средняя оценка - 4.65
Romiys
3 / 3 / 0
Регистрация: 27.12.2010
Сообщений: 56
28.02.2011, 15:38     vector C++ присвоить в массив #1
Помогите пожалуйста найти неполадку в программе. Массиву из 10 целых чисел присвоить 10 целых чисел из вектора. Компилируется, но не выводит числа.


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
#include <iostream>
#include <vector>
using namespace std;
 
int main ()
{
vector<int>ivec1 (10);
const size_t sz_arr = 10;
int arr1[sz_arr];
 
for (vector<int>::size_type ix=0; ix!=ivec1.size(); ++ix) 
{
    ivec1[ix]=ix;
    std::cout<<ivec1[ix]<<endl; 
}
 
     for (vector<int>::size_type ix2=0; ix2!=ivec1.size(); ++ix2) 
     {
         for (int *pbegin = arr1, *pend=arr1+sz_arr; pbegin !=pend; ++pbegin) 
                        
         *pbegin=ivec1[ix]; // kak-to prisvoit' elementu vectora v massiv???
     }
 
for (int *pbegin2 = arr1, *pend2=arr1+sz_arr; pbegin2 !=pend2; ++pbegin2) 
                                                    
cout<< pbegin2 <<endl; 
 
system("pause");
return 0;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Crudelis
Шаровик затейник
 Аватар для Crudelis
668 / 410 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
28.02.2011, 17:29     vector C++ присвоить в массив #2
зачем так мучатся то....
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
#include <iostream>
#include <vector>
using namespace std;
 
int main ()
{
    vector<int>ivec1;
    const size_t sz_arr = 10;
    int arr1[sz_arr];
 
    for (int ix=0; ix<sz_arr; ++ix) 
    {
        ivec1.push_back(ix);
        std::cout<<ivec1[ix]<<endl; 
    }
 
    for (int ix2=0; ix2<sz_arr; ++ix2) 
    {
 
        arr1[ix2]=ivec1[ix2]; // kak-to prisvoit' elementu vectora v massiv???
    }
 
    for (int i=0; i<sz_arr; ++i) 
 
    cout<< arr1[i] <<endl; 
 
    system("pause");
    return 0; 
}
oxotnik
 Аватар для oxotnik
1584 / 1061 / 33
Регистрация: 21.08.2008
Сообщений: 4,545
Записей в блоге: 1
28.02.2011, 17:31     vector C++ присвоить в массив #3
std::copy
Romiys
3 / 3 / 0
Регистрация: 27.12.2010
Сообщений: 56
28.02.2011, 17:55  [ТС]     vector C++ присвоить в массив #4
Crudelis, большое спасибо за толковый и "работающий ответ"! Буду учиться дальше. Можно вопрос? На практике лучше использовать индексирование, чем указатели?
Crudelis
Шаровик затейник
 Аватар для Crudelis
668 / 410 / 13
Регистрация: 06.05.2010
Сообщений: 1,109
28.02.2011, 18:21     vector C++ присвоить в массив #5
Romiys, указатели нужны когда к примеру массив передается в функцию в которой нужно что то с массивом сделать, например отсортировать либо заменить элементы, при этом по выходу из функции элементы массива были заменены и в теле функции main(), если сиё не нужно то можно просто использовать индексирование.
Romiys
3 / 3 / 0
Регистрация: 27.12.2010
Сообщений: 56
28.02.2011, 18:37  [ТС]     vector C++ присвоить в массив #6
Я понял. Спасибо!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2011, 20:53     vector C++ присвоить в массив
Еще ссылки по теме:

Как корректно скопировать vector в vector внутри класса C++
C++ Как vector<string> присвоить конкретные значения?
C++ Stl vector как массив

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

Или воспользуйтесь поиском по форуму:
ForEveR
Модератор
Эксперт C++
 Аватар для ForEveR
7927 / 4709 / 318
Регистрация: 24.06.2010
Сообщений: 10,524
Завершенные тесты: 3
28.02.2011, 20:53     vector C++ присвоить в массив #7
Для контейнеров STL (vector, list, etc.) лучше использовать итераторы.
Yandex
Объявления
28.02.2011, 20:53     vector C++ присвоить в массив
Ответ Создать тему
Опции темы

Текущее время: 11:26. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru