Help with Accelerated C++ exercise

Hi all,

I'm working my way through this book and I'm having some trouble in an exercise. It asks to write a program to compute and print quartiles (the quarter of the numbers with largest values) of a set of integers.

Here's my attempt:

Code:

`#include <iostream> //for cin cout endl`

#include <vector> //for vectors

#include <algorithm> //for sort

using std::cin;

using std::cout;

using std::endl;

using std::vector;

int main()

{

int num, count;

vector<int> vec;

vector<int>::size_type i, remainder;

cout << "Please enter integer numbers: " << endl;

while (cin >> num) {

vec.push_back(num);

}

if (vec.size()==0) {

cout << "Please rerun the program and enter integers: ";

return 1;

}

sort(vec.begin(), vec.end());

i=vec.size();

remainder=(vec.size()%4);

cout << "Program output:" << endl;

// print all the quartiles

while (i>remainder) {

cout << vec[i-1];

if (count%4==0)

cout << endl;

--i;

}

cout << endl;

// print any remaining numbers

for (;i>0;--i)

cout << vec[i-1] << "leftovers!";

return 0;

}

My problem is in the for loop. If I run the program and enter five integers, then just before this loop, DDD shows:

- i=1, remainder=1 before the loop

- goes to the for loop

- i=0, remainder=1 at the cout line

- DDD goes to stl_vector.h, and to:

Code:

` operator[](size_type __n)`

{ return *(this->_M_impl._M_start + __n); }

- then back to my program at the line where the for is, with i=0, remainder=1

- then to the cout line, but i is now 429467295

- then again to stl_vector.h, and then the for loop iterates, but without writing anything.

Can someone please explain where is my mistake in this program?

Sorry if the above is a bit confusing, I'm trying to provide as much as info as I can.

Many thanks for your help,

Spiros