Smart-указатель unique_ptr

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

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

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

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

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

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