Menu
Coddy logo textTech

Добавление элементов

Часть раздела Логика и управление потоком путешествия по C++ на Coddy — урок 11 из 56.

Теперь, когда вы знаете, как создавать векторы, давайте научимся добавлять в них элементы после их создания. Метод push_back() — это ваш основной инструмент для расширения вектора путем добавления новых элементов в его конец.

Метод push_back() принимает один аргумент — значение, которое вы хотите добавить — и добавляет его в конец вектора:

std::vector<int> numbers;
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);

В этом примере мы начинаем с пустого вектора и используем push_back() для добавления трех целых чисел. После этих операций наш вектор содержит элементы [10, 20, 30] в указанном порядке.

Преимущество push_back() заключается в том, что она автоматически управляет всей памятью. Когда вы добавляете элементы и у вектора заканчивается место, он автоматически выделяет больше памяти и копирует существующие элементы в новое место. Это делает векторы невероятно удобными для создания коллекций данных, когда вы заранее не знаете их окончательный размер.

challenge icon

Задание

Легко

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

Будут предоставлены следующие входные данные:

  • Целое число n, представляющее количество чисел, которые нужно добавить в вектор
  • Затем n целых чисел, которые должны быть добавлены в вектор одно за другим

Ваша программа должна:

  1. Создать пустой std::vector<int> с именем numbers
  2. Использовать цикл для чтения каждого из n входных чисел
  3. Для каждого числа использовать push_back(), чтобы добавить его в конец вектора
  4. После добавления каждого числа выводить текущий размер вектора и только что добавленное число
  5. В конце вывести все элементы вектора в одну строку, разделенные пробелами

Используйте следующий точный формат вывода:

Added [number], size is now [current size]
Added [number], size is now [current size]
...
Final vector: [num1] [num2] [num3] ...

Используйте метод .size(), чтобы получить текущее количество элементов в векторе после каждого добавления. Для финального вывода используйте оператор квадратных скобок [] для доступа к каждому элементу по индексу.

Шпаргалка

Используйте push_back() для добавления элементов в конец вектора:

std::vector<int> numbers;
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);

Метод push_back() автоматически управляет памятью, расширяя вектор по мере необходимости при добавлении элементов.

Попробуйте сами

#include <iostream>
#include <vector>
using namespace std;

int main() {
    // Считать количество элементов для добавления
    int n;
    cin >> n;
    
    // Создать пустой вектор
    vector<int> numbers;
    
    // TODO: Напишите свой код здесь
    // Считать n чисел и добавить их в вектор с помощью push_back()
    // Вывести требуемый результат после каждого добавления
    
    // Вывести итоговый вектор
    cout << "Final vector: ";
    // TODO: Вывести все элементы, разделенные пробелами
    
    return 0;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Логика и управление потоком