1

Тема: Заповнення векторного масиву.

Заповнення векторного масиву цілих чисел

    for (int i=0; i<h; ++i)
    {
        int j;
        cin >> j;
        arr.push_back(j);
    }

Так роблю я.
Але я майже впевнений що можна це зробити набагато простіше.

Проблеми начебто і нема, просто прагну до досконалості. :)

2

Re: Заповнення векторного масиву.

for (int i=0; i<h;  arr.push_back(i++));

3

Re: Заповнення векторного масиву.

мені потрібно заповнити його вручну з клави. а не вставити знанчення i

4

Re: Заповнення векторного масиву.

havdyak_misha1998 написав:

мені потрібно заповнити його вручну з клави. а не вставити знанчення i

Так треба було одразу сказати: телепатія - річ мінлива...

for (int i=0,j=0; i<h;  arr.push_back(j),i++) cin >> j;

5 Востаннє редагувалося koala (09.07.2014 10:45:43)

Re: Заповнення векторного масиву.

C++03:

std::vector< int > arr( h );
for( int i = 0; i < h; ++i )
  std::cin >> arr[ i ];

C++11:

std::vector< int > arr( h );
for( int &x : arr )
  std::cin >> x;

Взагалі push_back - операція повільна, якщо місце попередньо не виставити (vector::reserve), а якщо виставляти - то вже краще розмір (звісно, залежить від ситуації).

Подякували: Joker2

6

Re: Заповнення векторного масиву.

Всім дякую

7

Re: Заповнення векторного масиву.

Чому профі програмери завжди використовують ось такий запис  std::
які недоліки у using namespace std

8

Re: Заповнення векторного масиву.

довжина  :)

9

Re: Заповнення векторного масиву.

Якщо ви пишете проект на 300 рядків з 3 класів і 4 функцій, то нічого страшного в using namespace std нема.
А у великому проекті є ризик заплутатися, який саме copy ви викликаєте - з класу чи з STL, тому краще уточнювати.

Подякували: Joker, drWoZD4

10

Re: Заповнення векторного масиву.

ох як я вам заздрю *THUMBSUP*