# Need help in putting data into an array in c++

1. Nov 29, 2011

Hi guys,
I need to create an array in c++. But before I declare how many elements are in the array I want to prompt the user for input. I want to ask the user how many elements do they want in the array.
What ever the user said, 5 or 20. I then want to enter these 5 values or 20 values myself.
hope you can help.

2. Nov 29, 2011

### DrGreg

Do you know what the new operator is, and how to use it with an array?

3. Dec 1, 2011

### Timo

You may want to consider using the c++ structure "vector" rather than an array. A vector v (of double values in this example) of size N is created by
Code (Text):

// ... determine the value of N here ...

// create a vector of N double values.
std::vector<double> v(N);

The usage is the same as for an array (except for extra options that you may find out some day).

4. Dec 1, 2011

### Staff: Mentor

I'm guessing this is a class assignment, so you need to use an array instead of a vector. But for future reference...

Going further from Timo's example, you can declare the vector to have zero size initially, and then let it automatically expand as you add data to it. That way, you don't have to ask the user how many numbers he's going to enter.

Code (Text):

#include <iostream>
#include <vector>

using namespace std;

int main ()
{
vector<int> numbers;  // has length zero, initially

cout << "Enter some numbers, terminating with control-D:" << endl;

int n;
while (cin >> n)
{
numbers.push_back(n);  // append n to the vector and expand
// the vector as necessary
}

// the size() member function tells you how big the vector is

cout << "You entered:" << endl;
for (int k = 0; k < numbers.size(); ++k)
{
cout << numbers[k] << endl;
}

return 0;
}

Input/output:

Code (Text):

jtbell$g++ vector_demo.cpp jtbell$ ./a.out
Enter some numbers, terminating with control-D:
12
23
34
45
[I][COLOR="Blue"](control-D entered here)[/COLOR][/I]
You entered:
12
23
34
45
jtbell\$