[solved] Array Sorting problem

The program takes the input and finds mean, median, min, and max of the input numbers. I am having problems sorting an array. When it comes to sorting, the largest number gets put first, when in fact it should be smallest to largest. After the first number, the rest of the numbers are correctly sorted. Compiled with Microsoft Visual C++ 6.0.

Code:

`//AS-30`

#include <iostream>

#include <string>

using namespace std;

void main ()

{

double data [20],sdata[20];

int length,i;

double min,max,mean,median,sum,temp;

bool swapped;

//input data into array

cout <<"Enter data size: "<<endl;

cin >>length;

for (i=0; i<length;i++)

{

cout <<"Enter a data item: "<<endl;

cin >>data[i];

}

//copy the contents of data into sdata

for (i=0; i<length;i++)

{

sdata[i] = data[i];

}

//sort array sdata

swapped=true;

while (swapped)

{

swapped=false;

for (i=0;i<length;i++)

{

if (sdata[i] > sdata[i+1])

{

//swap

temp=sdata[i];

sdata[i] = sdata [i+1];

sdata [i+1] = temp;

swapped=true;

}

}

}

//compute min,max,mean,median

min=sdata[0];

max=sdata[length-1];

sum=0;

for (i=0; i<length;i++)

{

sum=sum+sdata[i];

}

mean=sum/length;

int indexHi,indexLo,index;

if ((length %2) != 0 )

{

index = length / 2;

median = sdata [index];

}

else

{

indexHi = length / 2;

indexLo = indexHi -1;

median = (sdata[indexLo] + sdata[indexHi] ) / 2;

}

//display original data

cout <<"Original data: "<<endl;

for (i=0; i<length;i++)

{

cout <<data[i] << " ";

}

cout <<endl;

//display sorted data

cout <<"Sorted data: "<<endl;

for (i=0; i<length;i++)

{

cout <<sdata[i] << " ";

}

cout <<endl;

cout <<"Min: "<<min<<endl;

cout <<"Max: "<<max<<endl;

cout <<"Mean: "<<mean<<endl;

cout <<"Median: "<<median<<endl;

}