У меня есть программа, в которой он запрашивает у пользователя определенное количество элементов и создает массив, а затем после инициализации всех элементов равным нулю, теперь он устанавливает все элементы в отрицательное значение -1. У меня ошибка сегментации, и я думаю, что это связано с моим кодом для установки элементов в -1. Что было бы лучше для установки всех элементов на отрицательный? И если возможно, объясните почему.
#include <cstddef>
#include <iostream>
using namespace std;
int main(int argc, char * argv[]) {
cout << endl << "A dynamic array creation program" << endl;
size_t length = 0;
int * intArray = nullptr;
cout << endl << "Input number of elements: ";
cin >> length;
cout << endl << "Allocating memory to create the dynamic array" << endl;
intArray = new int [length];
cout << endl << "Initializing all elements to 0" << endl;
for (size_t i=0; i<length; ++i)
intArray[i] = 0;
cout << endl << "Deallocating the dynamic array" << endl;
delete [] intArray;
intArray = nullptr;
cout << endl << "Setting all elements to negative values" << endl;
for (size_t i=0; i<length; ++i)
intArray[i] = -1;
return 0;
}