/
ArtT
/
Netology
Обзор
Документация
Войти
/
ArtT
/
Netology
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
Part2/Task_2_14_2/Task_2_14_2.cpp
73 строки
2 KB
ArtT
Добавил четырнадцатое задание
05 фев 2026, 12:50
05 фев 2026, 12:50
0e39bd9
Код
Авторство
О чём код?
#include <iostream> void print_dynamic_array(int* arr, int logical_size, int actual_size) { std::cout << "Динамический массив: "; for (int i = 0; i < actual_size; i++) { if (i < logical_size) std::cout << arr[i] << " "; else std::cout << "_ "; } std::cout << std::endl; } void append_to_dynamic_array(int n, int* &arr, int& logical_size, int &actual_size) { if (logical_size == actual_size) { actual_size *= 2; int* arrNew = new int[actual_size](); for (int i = 0; i < logical_size; i++) { arrNew[i] = arr[i]; } delete[] arr; arr = arrNew; } arr[logical_size] = n; logical_size++; } int main() { setlocale(LC_CTYPE, "rus"); int nLog{ 0 }; int nFact{ 0 }; std::cout << "Введите фактичеcкий размер массива: "; std::cin >> nFact; std::cout << "Введите логический размер массива: "; std::cin >> nLog; if (nLog <= nFact) { int* arr = new int[nFact](); int n{ 0 }; for (int i = 0; i < nLog; i++) { std::cout << "Введите arr[" << i << "]: "; std::cin >> n; arr[i] = n; } print_dynamic_array(arr, nLog, nFact); std::cout << "Введите элемент для добавления: "; std::cin >> n; while (n != 0) { append_to_dynamic_array(n, arr, nLog, nFact); print_dynamic_array(arr, nLog, nFact); std::cout << "Введите элемент для добавления: "; std::cin >> n; } std::cout << "Спасибо! Ваш массив: "; print_dynamic_array(arr, nLog, nFact); delete[] arr; return EXIT_SUCCESS; } else { std::cout << "Ошибка!Логический размер массива не может превышать фактический!"; return EXIT_FAILURE; } }