Menu
Coddy logo textTech

Указатель и динамический массив

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

challenge icon

Задание

Легко

Создайте программу, которая демонстрирует динамическое управление памятью путем создания гибкой системы хранения и обработки чисел. Эта задача проверит ваше понимание динамических массивов, выделения памяти, манипулирования массивами и правильной очистки памяти.

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

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

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

  1. Считать размер из входных данных
  2. Динамически выделить массив целых чисел с помощью new[] указанного размера
  3. Считать целые числа из входных данных и сохранить их в динамически выделенном массиве
  4. Вычислить сумму всех чисел в массиве
  5. Найти максимальное значение в массиве
  6. Вывести результаты в указанном формате
  7. Правильно освободить память с помощью delete[]

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

Array size: [size]
Sum: [sum_of_all_numbers]
Maximum: [maximum_value]

Помните, что динамическое выделение памяти позволяет создавать массивы, размер которых определяется во время выполнения на основе пользовательского ввода. Используйте new int[size] для выделения массива и обращайтесь к элементам, используя нотацию массива array[index]. После завершения использования массива вы должны вызвать delete[] array, чтобы освободить выделенную память и предотвратить утечки памяти. Массив существует в куче и будет сохраняться до тех пор, пока вы явно не освободите его.

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

#include <iostream>
using namespace std;

int main() {
    // Считать размер массива
    int size;
    cin >> size;
    
    // TODO: Напишите свой код здесь
    // 1. Динамически выделите память под массив, используя new[]
    // 2. Считайте целые числа и сохраните их в массиве
    // 3. Вычислите сумму всех чисел
    // 4. Найдите максимальное значение
    // 5. Не забудьте освободить память, используя delete[]
    
    // Вывод результатов (замените на фактические переменные)
    cout << "Array size: " << size << endl;
    cout << "Sum: " << /* переменная суммы */ << endl;
    cout << "Maximum: " << /* переменная максимума */ << endl;
    
    return 0;
}

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