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.