/*
 * =====================================================================================
 *
 *       Filename:  sort_select.c
 *    Description:  Sortowanie przez wybieranie (selection sort).
 *
 * =====================================================================================
 */
#include <stdio.h>
#define MAX 1000

/*  Funkcja zwraca pozycje w tablicy 't[]' elementu o najwiekszej wartosci. */
int maxind(float t[], int n)
{
   int k=0;
   int i=1;
   
   while(i<n)
   {
      if( t[i] > t[k] ) k=i; 
      i=i+1;
   }
   return k;
}

void sortuj(float t[], int n)
{
   int k, i=0;
   float x;

   while(i<n-1)
   {
      k=maxind(t,n-i);
      
      x=t[n-i-1];
      t[n-i-1] = t[k];
      t[k]=x;

      i=i+1;
   }
}

int main()
{
   int i,n;
   float t[MAX]; 
   
   do
   {
      printf("Podaj liczbe od 1 do %d\n", MAX);
      scanf("%d",&n);
   }while( n < 1 || n > MAX );

   printf("Wprowadz %d liczb rzeczywistych\n", n);
   i=0;
   while(i<n)
   {
      scanf("%f", &t[i]); 
      i = i + 1;
   }
   
   sortuj(t,n);

   printf("\nPosortowane:\n\n");
   i=0;
   while(i<n)
   {
      printf("t[%d]=%f\n", i, t[i]); 
      i = i + 1;
   }
   return 0;
}
