MergeSort function not working with randomn number

Hi,

I am still a programmer in the process of learning, I am trying to implement this program with generates 20 randomn numbers and uses the merge sort to organize them. My Function call doesn't seem to be working properly as I am able generate the numbers but not sort them properly. Thanks. The code is attached below.

Code:

`#include <iostream>`

#include <stdlib.h>

using namespace std;

void Merge( float A[], int F, int Mid, int L);

void Mergesort(float A[], int F, int L);

int main(int argc, char *argv[])

{

float x[20000];

int first, middle, last;

x[0] = 1;

for (int i = 0; i < 10; i++)

{

{

x[i+1]=0.5*(x[i]-(4/(x[i])));

if (x[i] <= 0)

{

cout << x[i] * -1 <<endl;

}

else {

cout << x[i] << endl;

}

}

}

Merge (x, first, middle, last);

Mergesort(x, first, last);

for (int i = 0; i <10; i++)

cout << x <<endl;

system("PAUSE");

return 0;

}

void Merge( float A[], int F, int Mid, int L)

{

float x[20000];

int First1 = F;

int Last1 = Mid;

int First2 = Mid + 1;

int Last2 = L;

int Index = First1;

for (; (First1 <= Last1) && (First2 <= Last2); ++Index)

{

if (A[First1] < A[First2])

{

x[Index] = A[First1];

++First1;

}

else

{

x[Index] = A[First2];

++First2;

}

}

for (;First1 <=Last1; ++First1, ++Index)

x[Index] = A[First1];

for (;First2 <= Last2; ++First2, ++Index)

x[Index] = A[First2];

for (Index = F; Index <= L; ++Index)

A[Index] = x[Index];

system("PAUSE");

return;

}

void Mergesort(float A[], int F, int L)

{

int Mid = (F + L)/2;

Mergesort(A,F,Mid);

Mergesort(A,Mid+1,L);

Merge(A,F,Mid,L);

system("PAUSE");

return ;

}