Динамический Массив Размера N
Начал изучать динамические массивы. И передо мной стоит такая задача: Пользователь вводит число N. Убедитесь, что оно больше 1 и меньше 100. В ином случае завершите программу. Динамически выделите память под массив из N чисел. Заполните его случайными числами. Выведите массив. Найдите сумму максимального и минимального элемента, выведите их. Вот мой код:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main()
{
setlocale(0, "");
srand(time(NULL));
int n;
int max;
int min;
int maxI = 0;
int minF = 0;
cout << "Введите размер массива = ";
cin >> n;
if (n < 1)
{
exit(0);
}
else if (n > 100)
{
exit(0);
}
int* ptrarray = new int[n];
for (int i = 0; i < n; i++)
ptrarray[i] = int((rand() % 99 + 1));
cout << "Массив = " << ptrarray <<endl;
delete[] ptrarray;
cout << endl;
return 0;
}
Не могу понять как вывести массив.
Ответы (1 шт):
ну вы же по всем элементам массива проходили для вычисления - вот тем же способом его и выведите:
std::cout << "Массив = ";
for (int i = 0; i < n; i++)
std::cout << ptrarray[i] << " ";
std::cout << std::endl;
P.S.
а зачем такая сложность при проверке размера массива?
if (n < 1)
{
exit(0);
}
else if (n > 100)
{
exit(0);
}
почему бы не облегчить?
if ((n <= 1) && (n >= 100)) {
return 0;
}
и кстати читайте внимательнее задачу:
Убедитесь, что оно больше 1 и меньше 100
а у вас было "больше 0 и меньше 101" по сути
P.P.S.
а еще зачем вы случайное число ограничиваете каким-то диапазоном? у вас же в задаче такой цели не стояло
int((rand() % 99 + 1));
используйте просто rand() и не надо приводить его к int:
ptrarray[i] = rand();