/******************************************************************************************** sortflt.cpp Jim Millard for CO311 Sorting utility routines for floating-point arrays ********************************************************************************************/ #include <iostream> #include <string> #include <time.h> //for seeding the random number generator #include "sortflt.h" using namespace std; //this routine fills the array in Arg1 with the smaller of the Arg2 and Arg3. //Arg2 is used for error control, so we don't go beyond the full array. void FillWithRand(float Array[], const int maxsize, const int count) { time_t t; srand((unsigned) time(&t)); for (int i = 0; (i < count) && (i < maxsize); i++) { //generate the new number int newInt = rand() % 10000; //between 0 and 9999 float newFloat = newInt / 1000.; //adjust to 0 to 9.999 //check for duplicates (we don't want any) bool found = false; for (int j = 0; (j < count) && (j < maxsize); j++) if (Array[j] == newFloat) found = true; //if there were no duplicates, save the number, otherwise redo the position if (!found) Array[i] = newFloat; else i--; } return; } void ParseAndPrint(float Array[], const int maxsize, const int count) { cout.precision(3); cout.setf(ios::fixed); for (int i = 0; (i < count) && (i < maxsize); i++) cout << Array[i] << " "; cout << endl << endl; return; } void Swap(float& A, float& B) { float temp = A; A = B; B = temp; return; }