PDA

View Full Version : need help in putting data into an array in c++


googled123
Nov29-11, 05:25 PM
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.

DrGreg
Nov29-11, 06:49 PM
Do you know what the new operator is, and how to use it with an array?

Timo
Dec1-11, 11:11 AM
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

// ... 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).

jtbell
Dec1-11, 03:27 PM
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.


#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:


jtbell$ g++ vector_demo.cpp
jtbell$ ./a.out
Enter some numbers, terminating with control-D:
12
23
34
45
(control-D entered here)
You entered:
12
23
34
45
jtbell$