Динамические массивы: vector




Следующим развитием динамического массивая явлется вектор.
Основные отличия:
1) Возможность изменять размер массива по ходу выполнения программы.
2) Более затратен по выделяемой памяти.

Для создания требуется подключить библиотеку:

#include <vector>

Объявление целочисленного вектора для 10 элементов:

vector<int> v(10)

или тоже самое только с начальным значениям в ячейках массива 0:

vector<int> v(10,0)

Для заполнения вектора есть 2 способа.

1) Выделяем память для n-го количества элементов и заполняем их, считывая их с клавиатуры.

int n;
cin >> n;
vector <int> a(n);
for (int i = 0; i < n; i++) 
    cin >> a[i];

2) Второй способ бывает нужен когда количество элементов неизвестно. Сначала создается пустой вектор, а потом с помощью метода push_back новый элемент добавляется в конец вектора.

int n;
cin >> n;
vector <int> a;

for (int i = 0; i < n; i++) {
      int b;
      cin >> b;
      a.push_back(b);   
}

Получить количество элементов в векторе:  

int b = a.size();

Task
Создайте вектор и заполните его только положительными элементами.

Входные данные
 
В первой строке вводится количество элементов в массиве. Во второй строке вводятся элементы массива.

Выходные данные

Выведите только положительные элементы из последоветльности.

Ввод Вывод
4
2 -4 0 100
2 100

C++
Write a program below
#include <iostream>
#include<vector>
using namespace std;
int main() {
        int n;
	cin >> n;
    
	for (int i = 0; i < a.size(); i++)
		cout << a[i]<<" ";
  return 0;
}   
Your last submission is saved in the editor window.
     

Results:

All results: