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 are confused that pressing enter will just give you the null terminator. It will not. Depending on your platform it will give you a carriage return/line-feed (`\r\n` in Win, `\n` in \*ix). The best way to do this is to just have them use a letter like 'q' for quit or a number like -1, and then compare on that.
If you use

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

```

then the input becomes simply

```
while (std::cin >> x)
    a.push_back(x);

```

Then the user can press ^D (Unix/Linux/etc) or ^Z (DOS/Win) when they've entered all the numbers, or use the program as in: 

```
echo 1 4 22 | program
program < input_file

```

If you want to have an empty line denote the end of input, then with input validation:

```
std::string line;
while (getline(std::cin, line))
{
    char c;
    std::istringstream iss(line);
    int x;
    if (iss >> x)
    {
        a.push_back(x);
        char c;
        if (iss >> c)
        {
            std::cerr << "unexpected character '" << c << "' in line '" << line << "', terminating\n";
            exit(EXIT_FAILURE);
        }
    }
    else if (!iss.eof())
        break;  // empty line...
    else
    {
        std::cerr << "unexpected characters in line '" << line << "', terminating\n";
        exit(EXIT_FAILURE);
    }
}

```