Time remaining:
C++ sorting methods problem with program?!

Programming
Tutor: None Selected Time limit: 0 Hours

Okay so I am in a Data Structures class and I am completely stuck. I did the project it is just coming up with errors so can someone please help me with what i'm doing wrong!!
the program should prompt the user to:
• Have the user enter the number of items in the list you wish to sort.
• Have the user enter the number of trials you wish to run.
• Have the user enter the type of sort you wish to run. A menu of options would probably work best for this. It should provide the option of bubble sort, selection sort, merge sort, and quick sort.


The program should then run the requested number of trials on a list of the given size, then report the average amount of time it took to sort a single list of that size. For example, if the user wants a list size of 100 and a number of trial of 10, you should sort a 100 item list 10 times (make it a new randomized list each time!), then report the total time divided by the number of trials. 


For example, a run of this program might look like this:
Please enter the size of the list you wish to sort: 1000
Please enter the number of trials to run: 100
Please select a sort:
1. Bubble sort
2. Selection sort
3. Merge sort
4. Quick sort
Choice: 1
The average time to sort 1000 items using bubble sort is: 0.14 seconds

I KNOW IT IS A LITTLE LENGTHY BUT I'M DESPERATE.. PLEASE HELP ME! :)

#include <iostream>;
#include <vector>;
#include <ctime>; 
using namespace std;
void bubbleSort( vector<int> &array)
{
int temp;
bool swapped;
for ( int i = 0; i < array.length() -1; i++)
{
swapped = false;
for ( int j = 0; j < array.length() - 1 - i; j++ )
{
if ( array[j] > array [j + 1] )
{
temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
swapped = true;
}
}
if (!swapped)
return;
}
}
void selectionSort( vector<int> &array )
{
int maxPos;
int temp;
for ( int i = array.size() - 1; i > 0; i--)
{
maxPos = 0;
for ( int j = 1; j <= i; j++)
{
if ( array[j] > array[maxPos] )
maxPos = j;
}
temp = array[maxPos];
array[maxPos] = array[i];
array[i] = temp;
}
}
void mergeSort(vector<int> &array, int start, int middle, int end)
{
vector<int> one = new vector<int>(middle - start + 1);
vector<int> two = new vector<int>( end - middle );
for (int i = start; i <= middle; i++)
{
one[i - start] = array[i];
}
for (int i = middle +1; i <+ end; i++)
{
two[i- (middle + 1)] = array[i];
}
int i1 = 0, i2 = 0, j = start;
while ( ( i1 < one.size() ) && ( i2 < two.size() ) )
{
if (one[i1] < two[i2])
{
array[j] = one[i1];
i1++;
}
else
{
array[j] = two[i2];
i2++;
}
j++;
}
while ( i1 < one.size() )
{
array[j] = one[i1];
j++;
i1++;
}
while ( i2 < two.size() )
{
array[j] = two[i2];
j++;
i2++;
}
}
void sortAux( vector<int> &array, int start, int end )
{
if( start >= end )
return;
int pivotLoc = partition(array, start, end );
sortAux( array, start, pivotLoc - 1);
sortAux( array, pivotLoc + 1, end);
}
int partition( vector<int> &array, int start, int end)
{
int pivot = array[start];
vector<int> small;
vector<int> large;
for ( int i = start + 1; i <= end; i++ )
{
if ( array[i] < pivot )
small.add( array[i] );
else
large.add( array[i] );
}
int pivotLoc = small.size() + start;
int j = start;
for (int i = 0; i < small.size(); i++)
{
array[j] = small[i];
j++;
}
array[j] = pivot;
j++;
for ( int i = 0; i < large.size(); i++)
{
array[j] = large[i];
j++;
}
return pivotLoc;
}
void quickSort( vector<int> &array )
{
sortAux( array, 0, array.size() - 1);
}

void randomArray( vector<int> &array)
{
for ( unsigned int i = 0; i < array.size(); i++)
{
array[i] = rand() % 100;
}
}
void printArray( vector<int> array)
{
for (unsigned int i = 0; i < array.size(); i++ )
{
cout << array[i] << " ";
}
cout << endl;
}


int main()
{
vector<int> list;
int choice, start, finish, total, size, trials;
cout << "Please enter size of list you wish to sort: " << endl;
cin >> size;
cout << "Please enter the number of trials to run: " << endl;
cin >> trials;
cout << "Please select a sorting method: " << endl;
cout << "1. Bubble Sort" << endl;
cout << "2. Selection Sort" << endl;
cout << "3. Merge Sort" << endl;
cout << "4. Quick Sort" << endl;
if (choice == 1)
{
bubbleSort;
}
if (choice == 2)
{
selectionSort;
}
if (choice == 3)
{
mergeSort;
}
if (choice == 4)
{
quickSort;
}
list.resize(size);
start = (int)time(NULL);
for( int i = 0; i < trials; i++)
{
randomArray( list);
}
finish = (int)time(NULL);
printArray(list);
total = finish - start;
cout << "the finished list is" << start- finish << endl;
cout << "the average time is" << total/ trials << endl;

Nov 15th, 2013
.i can help you in your assignments...i can provide you good quality work so that you can get A gradings in your course.I can do your work in a very short time .......answers will be upto mark and correctly written..thanks.....waiting for your reply ,,ans soon
Nov 15th, 2013

how much pay you $ please reply 

Nov 15th, 2013

$10? 

Nov 15th, 2013

ok send  down payment in my accoyunt  just now

Nov 15th, 2013

Sorry i'm new to this website and don't know how to do that.. haha but I just invited you to the question with the 10 dollar pledge where I think you have to comment on it so I can choose your answer

Nov 15th, 2013

Did you know? You can earn $20 for every friend you invite to Studypool!
Click here to
Refer a Friend
...
Nov 15th, 2013
...
Nov 15th, 2013
Dec 7th, 2016
check_circle
Mark as Final Answer
check_circle
Unmark as Final Answer
check_circle
Final Answer

Secure Information

Content will be erased after question is completed.

check_circle
Final Answer