Originally Posted by
laserlight
What is your current code?
Code:
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
typedef int intArray[];
void generate(intArray nums, int size, int low, int high);
void bubSort(intArray nums, int size);
void displayNums(intArray nums, int size);
void display(int n);
bool notInOrder(int a, int b);
void swap(int& a, int& b);
int main()
{
const int MAX_SIZE = 5000; // arbitrary
int numbers[MAX_SIZE];
int howMany;
cout << "How many numbers to sort? ";
cin >> howMany;
if(howMany > MAX_SIZE)
{
howMany = MAX_SIZE;
}
generate(numbers, howMany, 0, 999);
cout << "Numbers generated..." << endl;
displayNums(numbers, howMany);
cout << endl;
bubSort(numbers, howMany);
cout << "After sorting..." << endl;
displayNums(numbers, howMany);
cout << endl;
}
void generate(intArray nums, int size, int low, int high)
{
int n, i = 0;
do
{
n = (rand() + time(0)) % 100;
if(n >= low && n <= high)
{
nums[i] = n;
i++;
}
}while (i <= size);
}
void bubSort(intArray nums, int size)
{
for(int k = size-1; k >= 0; k--)
{
for(int i = 0; i <= k; i++)
{
if(notInOrder(nums[i],nums[i+1]))
{
swap(nums[i],nums[i+1]);
}
}
}
}
void displayNums(intArray nums, int size)
{
for(int s = 0; s < size; s++)
{
cout.width(4);
cout << nums[s];
if(s != 0 && s%15 == 0)
{
cout << endl;
}
}
}
bool notInOrder(int a, int b)
{
return (a > b);
}
void swap(int& a, int& b)
{
int temp;
temp = a;
a = b;
b = temp;
}