## 14. Operations on Arrays

### Size of an Array

To complete the solution of the problem, the search for the minimum value has to be written down again. Before doing that, a question needs to be answered: how many elements are there in the array `data`?

The unique answer to that question cannot be given during the writing of the program. We could add a counter to the `do` `while` loop to make it count the number of elements. However, there is a much better solution: an array can always somehow 'tell' the number of elements it contains. The number of elements of the array `data` can be obtained by the expression `int(data.size()),` which might be employed like this:

```int dataSize= int(data.size());
```

This statement will introduce a variable named `dataSize`, which will be assigned the number of elements of the array `data`.

The remaining part of the program will find the smallest element, although by now, you should be able to write it yourself. The code of the complete program is given below:

```#include <iostream>
#include <vector>

int main()
{
std::vector<double> data;
double input;
do  {
std::cin >> input;
data.push_back(input);
}
while(input!=0);
data.pop_back();

int dataSize = int(data.size());
double min = data;
for (int i=1; i<dataSize; i++)
if (data[i] < min)
min = data[i];

std::cout << "The minimum is: " << min << std::endl;
}
```

On executing the program we could get an output similar to this:

```7
17
5
12
0
The minimum is: 5
``` Remember that you can use a piece of code from the given program whenever you need a program to read in some input data until the input is terminated by the end-of-input value.