Вектор

Последнее обновление: 06.03.2023
Упражнение 1

Определите вектор (объект vector) для хранения чисел типа int. Пусть пользователь сначала вводит с консоли число N - размер вектора. Затем в цикле с консоли вводит N чисел, которые добавляются в данный вектор. После ввода в цикле выведите все числа из вектора в строчку в обратном порядке.

Решение
#include <iostream>
#include <vector>

int main()
{
    unsigned count;     // количество вводимых чисел в вектор
    std::vector<int> numbers;

    // вводим количество чисел
    std::cout << "Enter vector count: ";
    std::cin >> count;    // вводим число
    // вводим значения для вектора
    std::cout << "Enter " << count << " numbers" << std::endl;
    int n;
    for(unsigned i{}; i < count; i++)
    {

        std::cin >> n;          // вводим число
        numbers.push_back(n);   // добавляем число в вектор
    }

    // выводим массив в обратном порядке
    for (unsigned i {1}; i <= count; ++i)
    {
        std::cout << numbers[count - i] << "\t";
    }
    std::cout << std::endl;
}

Пример работы программы:

Enter vector count: 5
Enter 5 numbers
2
3
4
5
7
7       5       4       3       2
Упражнение 2

Напишите программу, в которой пользователь вводит размер вектора, и программа создает smart-указатель типа unique_ptr и инициализирует его динамическим вектором такого размера (пусть вектор хранит значения типа int). Инициализируйте все элементы вектора так, чтобы значение элемента по индексу i было равно i * i (то есть квадрату числа i). Вычислите сумму элементов и выведите результат на консоль.

Решение
#include <iostream>
#include <memory>
#include <vector>

int main()
{
    unsigned n {};  // количество элементов в векторе
    std::cout << "Enter vector size: ";
    std::cin >> n;      // вводим количество элементов
    auto numbers{ std::make_unique<std::vector<int>>(n) };
    for (unsigned i {}; i < n; i++)
    {
        (*numbers)[i] = i * i;  // (*numbers) - представляет вектор
    }
    
    int sum {};     // сумма чисел
    // перебираем все элементы вектора
    for (auto n : *numbers)
    {
        sum += n;
    }
    std::cout << "Sum = " << sum << std::endl;
}

Пример работы программы:

Enter vector size: 4
Sum = 14
Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850