#include #include // for setw() #include // for rand() using namespace std; // Constants const int NumRows = 5; const int NumCols = 6; // Prototypes void initializeArray(int [][NumCols]); void printArray(int [][NumCols]); void sortArray(int [][NumCols], int col); void swapRow(int a[], int b[]); void swap(int& a, int& b); int main() { int A[NumRows][NumCols]; initializeArray(A); printArray(A); // sort on first column sortArray(A,0); cout << "Sorted on first column\n"; printArray(A); // sort on third column sortArray(A,2); cout << "Sorted on third column\n"; printArray(A); // sort on sixth column sortArray(A,5); cout << "Sorted on sixth column\n"; printArray(A); } void initializeArray(int data[][NumCols]) { for (int r = 0 ; r < NumRows; r++) for (int c = 0; c < NumCols; c++) data[r][c] = rand() % 100 + 1; // random between 1 and 100 } void printArray(int data[][NumCols]) { for (int r = 0 ; r < NumRows; r++) { for (int c = 0; c < NumCols; c++) { cout << setw(5) << data[r][c]; } cout << endl; } cout << endl; } void sortArray(int data[][NumCols], int col) { int i, j; for (i = 0; i < NumRows - 1; i++) { for (j = i+1; j < NumRows; j++) { if (data[i][col] > data[j][col]) swapRow(data[i],data[j]); } } } void swapRow(int a[], int b[]) { for (int i = 0; i < NumCols; i++) { swap(a[i],b[i]); } } void swap(int& a, int& b) { int temp; temp = a; a = b; b = temp; }