This exercise is from Primer book (C++):

> 
> Let’s assume that we have a collection of grades that range from 0 through 100. We’d like to count how many grades fall into various clusters of 10. Between zero and 100 there are 101 possible grades. These grades can be represented by 11 clusters: 10 clusters of 10 grades each plus one cluster for the perfect score of 100. The first cluster will count grades of 0 through 9, the second will count grades from 10 through 19, and so on. The final cluster counts how many scores of 100 were achieved.
> 
> 
> Clustering the grades this way, if our input is
> 
> 
> 42 65 95 100 39 67 95 76 88 76 83 92 76 93
> 
> 
> then the output should be
> 
> 
> 0 0 0 1 1 0 2 3 2 4 1
> 
> 
> 

```
int main() 
{
    vector<int> v(11, 0);
    int i;
    while (cin >> i)
    {
        ++*(v.begin() + i / 10); 
    }
    for (auto& r : v)
    {
        cout << r << '\t';
    }
    cout << endl;

    return 0;
}

```

If the line

`++*(v.begin() + i / 10);`

is changed to

`*(v.begin() + i / 10)++;`

The program reads nothing to the vector. Why?