PROGRAM 35
// FILE NAME: PROG35.CPP PROGRAMMER NAME: ANTHONY F. ORTIZ // THIS PROGRAM DEMONSTRATES A TEMPLATE CALLED MIN THAT RETURNS THE // SMALLEST ELEMENT OF AN ARRAY. #include #include #include #include "ourstr.h" #include "ourstuff.h" const int max = 10; template void initialize_list (type list [], int & size) { char ans; size = 0; do { clrscr (); cout << "ENTER OBJECT " << (size + 1) << ": "; cin >> list [size]; cout << endl << "WOULD YOU LIKE TO ENTER ANOTHER OBJECT?"; cout <<" TYPE 'Y' TO CONTINUE. "; cin >> ans; ans = toupper (ans); size++; cout << endl; } while (size < max && ans == 'Y'); } template type min (type list [], int size) { type smallest = list [0]; for (int count = 0; count < size; count++) { if (list [count] < smallest) { smallest = list [count]; } } return smallest; } template void display_list (type list [], int size) { for (int count = 0; count < size; count++) { cout << "OBJECT ["; cout.width (2); cout << (count + 1) << "]: "; cout.width (15); cout << list [count] << endl; } cout << endl; } template void sort_list (type list [], int size) { int count, top, largestindex; for (top = 0; top < size - 1; top++) { largestindex = top; for (count = top + 1; count < size; count++) { if (list [count] > list [largestindex]) { largestindex = count; } } swap (list [largestindex], list [top]); } } template void swap (type & a, type & b) { type temporary = a; a = b; b = temporary; } pause () { cout << "PRESS ENTER KEY TO CONTINUE ..... "; getch (); return 0; } int main () { int size; int list [max]; initialize_list (list, size); decimals (cout, 2); clrscr (); cout << "BEFORE SORT: " << endl << endl; display_list (list, size); sort_list (list, size); cout << "AFTER SORT: " << endl << endl; display_list (list, size); cout << "THE SMALLEST ELEMENT OF THE ARRAY IS " << min (list, size); cout << endl << endl; pause (); double list2 [max]; initialize_list (list2, size); clrscr (); cout << "BEFORE SORT: " << endl << endl; display_list (list2, size); sort_list (list2, size); cout << "AFTER SORT: " << endl << endl; display_list (list2, size); cout << "THE SMALLEST ELEMENT OF THE ARRAY IS " << min (list2, size); cout << endl << endl; pause (); string list3 [max]; initialize_list (list3, size); clrscr (); cout << "BEFORE SORT: " << endl << endl; display_list (list3, size); sort_list (list3, size); cout << "AFTER SORT: " << endl << endl; display_list (list3, size); cout << "THE SMALLEST ELEMENT OF THE ARRAY IS " << min (list3, size); cout << endl << endl; pause (); return 0; } // FILENAME: OURSTR.H, OURSTR.CPP // SEE PROGRAM 12. // FILENAME: OURSTUFF.H, OURSTUFF.CPP // SEE PROGRAM 14. // OUTFILE: PROG35.OUT ENTER OBJECT 1 10000 WOULD YOU LIKE TO ENTER ANOTHER OBJECT? TYPE 'Y' TO CONTINUE. y ENTER OBJECT 2 20000 WOULD YOU LIKE TO ENTER ANOTHER OBJECT? TYPE 'Y' TO CONTINUE. n BEFORE SORT: OBJECT [ 1]: 10000 OBJECT [ 2]: 20000 AFTER SORT: OBJECT [ 1]: 20000 OBJECT [ 2]: 10000 THE SMALLEST ELEMENT OF THE ARRAY IS 10000 PRESS ENTER KEY TO CONTINUE ..... ENTER OBJECT 100000 WOULD YOU LIKE TO ENTER ANOTHER OBJECT? TYPE 'Y' TO CONTINUE. y ENTER OBJECT 200000 WOULD YOU LIKE TO ENTER ANOTHER OBJECT? TYPE 'Y' TO CONTINUE. n BEFORE SORT: OBJECT [ 1]: 100000 OBJECT [ 2]: 200000 AFTER SORT: OBJECT [ 1]: 200000 OBJECT [ 2]: 100000 THE SMALLEST ELEMENT OF THE ARRAY IS 100000 PRESS ENTER KEY TO CONTINUE ..... ENTER OBJECT 1000000 WOULD YOU LIKE TO ENTER ANOTHER OBJECT? TYPE 'Y' TO CONTINUE. y ENTER OBJECT 2000000 WOULD YOU LIKE TO ENTER ANOTHER OBJECT? TYPE 'Y' TO CONTINUE. n BEFORE SORT: OBJECT [ 1]: 1000000 OBJECT [ 2]: 2000000 AFTER SORT: OBJECT [ 1]: 2000000 OBJECT [ 2]: 1000000 THE SMALLEST ELEMENT OF THE ARRAY IS 1000000 PRESS ENTER KEY TO CONTINUE .....
BACK TO COMP251 PAGE.