Question: Hi guys i am new to c++, I just wrote this code to find min/max of a array of numbers.  

I just want to know how can I make the no. of entries flexible(I mean the user should be able to enter as many entries as possible without specifying how many in the starting)

Here's the code, but its not working, can someone please help?
Thanks
code:

```
#include <iostream>
using namespace std;
int main(){

    cout<<"Program to calculate max/min/second max\n";
    int *A;
    A=new int[5];
    bool flag=false;
    int x=0,i=0;
    cout<<"Enter the numbers\n";

    do{

        cin>>x;
        if(x=='\0'){
            flag=true;
        }
        *(A+i)=x;
        i++;

    }
    while(!flag);

    for(int j=0;j<i;j++){

        cout<<*(A+j)<<"\n";

    }

    return 0;
}

```

Answer: 
You will have to use some sort of variable length datastructure and Vector is the best choice for this since you are working in C++. Therefore, instead of your fixed length array:

```
int *A;
A=new int[5];

```

use a vector like this:

```
std::vector<int> input;

```

And then to add values to this, use the following:

```
input.push_back(10);

```

[There is an example on this page about using vectors.](http://www.cplusplus.com/reference/stl/vector/insert/)
> 
> mean the user should be able to enter as many entries as possible without specifying how many in the starting
> 
> 
> 

With the above requirement and with the code you have, you can enter no more than 5 elements to an array.

```
do{ 
    cin>>x;
    if(x=='\0'){
       flag=true;
    }
    *(A+i)=x;
    i++;
}while(!flag);

```

Use [`std::vector`](http://www.cplusplus.com/reference/stl/vector/) instead for the requirement where it implicitly manages memory for you.