Sort Routine Fails to Sort Final Sequence in Array

So far, so good... HOWEVER, I want this code to print the array in descending order, based on the second column... it does that, but leaves the last (highest) pair of numbers at the bottom of the list! What can be done to fix this?

#include <iostream>#include <stdlib.h>#include <vector>#include <algorithm>using namespace std;const int FINISH = 2;const int START = 5;void getData(int arr[][FINISH]);void displayData(int arr[][FINISH]);bool insertionSort(const vector<int>& inner1, const vector<int>& inner2); int i = 0;int j = 0;int main(){ int timeArray[START][FINISH]; getData(timeArray); displayData(timeArray); vector<vector<int> > vect; for (int i = 0; i < START - 1; ++i) { vector<int> inner(timeArray[i], timeArray[i] + 2); vect.push_back(inner); } sort(vect.begin(), vect.end(), insertionSort); for (int i = 0; i < START - 1; ++i) { timeArray[i][0] = vect[i][0]; timeArray[i][1] = vect[i][1]; } displayData(timeArray); cout << endl << endl << endl; system("PAUSE"); return 0;}// used to prompt user to fill array with valuesvoid getData(int arr[][FINISH]){ cout << "Enter start/finish times." << endl << "One at a time when prompted: " << endl; cout << endl; for(int i = 0; i <= START - 1; i++) { cout << "Enter start time #" << i + 1 << ": "; cin >> arr[i][j]; for(int j = 0; j <= 0; j++) { cout << "Enter finish time #" << i + 1 << ": "; cin >> arr[i][j + 1]; } cout << endl; }}// end getData()// used to display array contentsvoid displayData(int arr[][FINISH]){ cout << endl << endl; for (int i = 0; i < START; i++) { for (int j = 0; j < FINISH; j++) cout << arr[i][j] << " "; cout << endl; }}// end displayData()bool insertionSort(const vector<int>& inner1, const vector<int>& inner2) { return inner1[1] >= inner2[1];}