Basically, I'm unsure of how to utilize the function rand(). All I want to do is create 20 random numbers, use a bubble sort on them, print the sorted list and the time it takes to sort it.
Code:
#include <cstdlib>
#include <iostream>
#include <ctime>
#include <cstdlib>
using std::cout;
using std::endl;
int main()
{
void bubble(int a[], int n);
void print(int a[], int n);
int random(int n);
int n = 20;
int a[n];
a[n] = random(n);
clock_t start = clock();
bubble(a, n);
clock_t end = clock();
print(a, n);
double time_elapsed = double(end - start)/CLOCKS_PER_SEC;
system("PAUSE");
}
void swap(int a, int b)
{
int temp;
temp = a;
a = b;
b = temp;
}
void bubble(int a[], int n)
{
int sorted = false;
int pass = 1;
while (pass < n && !sorted)
{
sorted = true;
for ( int i = 0; i <= n - pass - 1; i++)
{
if (a[i] > a[i + 1])
{
swap(a[i], a[i + 1]);
sorted = false;
}
}
pass = pass + 1;
}
}
void print(const int a[], int n)
{
for (int i = 0; i <= n; i++)
cout << a[i] << " " << endl;
}
int random(int n)
{
int a[n];
for (int i = 0; i <= n; i++)
a[i] = rand();
return a[n];
}