#include<stdio.h>
#define MAX 100

/* deklaracje funckcji */
void wczytaj(float t[],int n);
void wyswietl(float t[],int n);
float srednia(float t[],int n);
float suma(float t[],int n);
float maksimum(float t[],int n);
int maxind(float t[],int n);
void sortuj(float t[],int n);

int main()
{
   int n;
   float tab[MAX];

   printf("Ile elementow (nie wiecej niz %d) ? \n",MAX);
   scanf("%d",&n);

   wczytaj(tab,n);
   wyswietl(tab,n);
   printf("Suma = %f\n",suma(tab,n));
   printf("Srednie = %f\n",srednia(tab,n));
   printf("Najwieksza liczba = %f\n",maksimum(tab,n));
   printf("Najwieksza jest na pozycji = %d\n",maxind(tab,n));
   printf("Posortowane elementy tablicy:\n");
   sortuj(tab,n);
   wyswietl(tab,n);

   return 0;

}

/* definicje funkcji */

void wczytaj(float t[],int n)
{
	int i;
	for(i=0;i<n;i++)
	{
		printf("t[%i]=",i);
		scanf("%f",&t[i]);
	}
}

void wyswietl(float t[],int n)
{
	int i=0;
	printf("Zawartosc tablicy (ilosc elementow=%d)\n",n);
	while(i<n) printf("t[%i]=%f\n",i,t[i++]);

}

float suma(float t[],int n)
{
	float s=0;
	while(n>0) s+=t[--n];
	return s;
}

float srednia(float t[],int n)
{
	return suma(t,n)/n;

}

int maxind(float tab[],int n)
{
	int m=0,i;

   for(i=0;i<n;i++)  if(tab[m]<tab[i]) m=i;
	return m;
}

float maksimum(float t[],int n)
{
	return t[maxind(t,n)];
}

void sortuj(float t[],int n)
{
   float tmp;
   int m;

   while(n>0)
   {
      m=maxind(t,n);
      tmp=t[m];
      t[m]=t[n-1];
      t[n-1]=tmp;
      n--;
   }
}
