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 ; }