Hi,

I am writing a program which performs selection sort. but when i run my program it says there are errors generated and will be closed by windows. I am using DevC++. Then i tried the built-in debugger and it's something about segmentation fault. Then i tried running on Borland C++ builder and it says something about memory access violation. Lastly i tried running with Pacific MS-DOS C compiler and it ran, only seem to left out the number 3 which is in the array and added the number '-900' at the beginning of the sentence. Pls tell me what's wrong and how to fix it. Thnx.

Code:
/* selection sort */

#include <stdio.h>

void selSort( int array[], int arraySize );

int main()
{
   int array[ 10 ] = { 3, 6, 1, 2, 4, 7, 5, 9, 10, 8 };
   int i;
   printf( "Original array of numbers: \n " );
   for ( i = 0; i < 10; i++ )
      printf( "%d ", array[ i ] );
   printf( "\n" );

   printf( "Array after sorted by 'selection-sort': \n" );

   selSort( array, 10 );

   printf( "\n" );

   return 0;
}

void selSort( int array[], int arraySize )
{
   int min, temp, i;
   int swapPos;

   for( i = 0; i < arraySize; i++ )
      if ( min > array[ i ] ) {
         min = array[ i ];
         swapPos = i;
      }

   if ( arraySize != 1 ) {
      temp = array[ 0 ];
      array[ 0 ] = min;
      array[ swapPos ] = temp;
      printf( "%d ", array[ 0 ] );

      selSort( &array[ 1 ], arraySize - 1 );
   }
}