Как задать размер массива с клавиатуры array arr;
Короче, задали лабораторную, вроде легкая и так далее, сделал набросок быстренько, вроде всё готово, а вот преподаватель написал, мол размерность массива нужно задать пользователю с клавиатуры.Ну вот в обычном массиве я бы легко это сделал, но темой являлась библиотека . Проблема заключается в том, что компилятор требует константные значения. Вот набросок если что:
#include <conio.h>
#include <iostream>
#include<cstdlib>
#include <array>
#include <string>
#include <Windows.h>
#include <ctime>
using namespace std;
int main()
{
setlocale(0, "");
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
srand(time(NULL));
const int size =10;
array<int,size>arr_int;
cout << "1-Заданный случайный массив: " << endl;
for (int i = 0; i < size; i++)//Задание массива рандомными значениями
{
arr_int.at(i) = rand() % 1000;//рандомное значение до 1000 каждому элементу массива
cout << arr_int.at(i) << " ";
}
cout << endl << endl<<"2-Без 5 первых членов массива: " << endl;
for (int i = 0; i < size-5; i++)//Удаление первых 5 членов массива
{
arr_int.at(i) = arr_int.at(i + 5);
cout << arr_int.at(i) << " ";
}
cout<<endl<<endl << "3-С добавленными 3 случайными значениями в конец массива: " << endl;
for (int i = size-5; i < size - 5 + 3; i++)//Добавление в конец массива 3 случайных значения
arr_int.at(i) = rand() % 1000;
for (int i = 0; i < size - 5 + 3; i++)//Вывод массива
cout << arr_int.at(i)<<" ";
cout << endl<<endl << "4-Сортировка по убыванию: " << endl;
int a;
for (int i = 0; i < size - 5 + 3; i++)//Сортировка
{
for (int j = 0; j < size - 5 + 3 - 1; j++)
{
if (arr_int.at(j) < arr_int.at(j + 1))
{
a = arr_int.at(j);
arr_int.at(j) = arr_int.at(j + 1);
arr_int.at(j + 1) = a;
}
}
}
for (int i = 0; i < size - 5 + 3; i++)//Вывод массива
cout << arr_int.at(i) << " ";
cout << endl<<endl;
system("pause");
}
Одним словом задача --> сделать возможность ввода в консоли пользователем размерности массива из библиотеки . Язык C++; Спасибо огромное.