Good day. Faced an error "Expression must have a constant value" when creating an array. Find this question c++ array - expression must have a constant value, but these tips didn’t solve the problem. Please help and I'm sorry for such requests, I just started to learn C ++
Code:
#include <iostream>
#include <math.h>
#include <cstdlib>
#include <string>
#include <sstream>
#include <conio.h>
#include <random>
int main()
{
int userInput = 0, sumEvenIndexElements = 0, sumElementsBeetwenZero = 0;
bool checkZeroElements = false;
std::cout << "Write array length:" << std::endl;
std::cin >> userInput;
const int lengthOfArray = userInput;
int numbers [lengthOfArray];
std::default_random_engine generator;
std::uniform_int_distribution<int> distribution(-10, 10);
for (int index = 0; index < lengthOfArray; index++)
{
numbers[index] = new int[distribution(generator)];
std::cout << numbers << std::endl;
if (index % 2 == 0)
{
sumEvenIndexElements += *numbers[index];
}
}
std::cout << "Sum even index elements: " << sumEvenIndexElements << std::endl;
for (int index = 0; index < lengthOfArray; index++)
{
numbers[index] = new int[distribution(generator)];
if (numbers[index] == 0)
{
checkZeroElements = !checkZeroElements;
}
if (checkZeroElements)
{
sumElementsBeetwenZero += *numbers[index];
}
}
if (checkZeroElements)
{
std::cout << "Sorry, array have less than two zero elements.";
}
else
{
std::cout << "Sum even index elements: " << sumEvenIndexElements << std::endl;
}
}