#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>


float moyenne (char *tab,int ilong)
{
   float fsomme=0, fmoy;
   int i;
   for(i=0;i<ilong;i++)
   {
       fsomme=fsomme+tab[i];
   }

   fmoy= fsomme/ilong;

   return fmoy;
}

float mediane (char *tab,int ilong)
{
    int imoit=0;
    float fmed=0;
    imoit=ilong/2;

    if(ilong%2 == 1)
    {
        fmed=tab[imoit];
    }
    else
    {
        fmed=(((float)tab[imoit]-(float)tab[imoit-1])/2)+ tab[imoit-1];

    }

   return fmed;
}

void rangement (char *tab,int ilong)
{
    int i=0,j=0;
    float ftemp=0;
    for (i=0;i<ilong;i++)
    {
        for(j=i;j<ilong;j++)
        {
            if(tab[i]>tab[j])
            {   ftemp=tab[i];
                tab[i]=tab[j];
                tab[j]=ftemp;
				ftemp=0;
            }
        }
    }
}

float ecart_type(char *tab,int ilong, float fmoy)
{
    int i;
    float fvar=0, fecty=0;

    for (i=0;i<ilong;i++)
        fvar=fvar+((float)tab[i]-fmoy)*((float)tab[i]-fmoy);
    fvar=fvar/ilong;

    fecty=sqrt(fvar);


    return fecty;
}





int main()
{   char tab[20]={3,4,5,2,1,6,7,10,9,8};    //tableau de valeur statistique
    int ilong,i;
    float fmoy=0, fmed=0, fecart_type=0;

    ilong=strlen(tab);                      //  calcul de longueur
    printf("%d\n",ilong);                   //  affichage

    for(i=0;i<ilong;i++)                    // affichage de tout le tableau
       {
           printf("%d ",tab[i]);
       }

    puts("");
    rangement(tab,ilong);                   //ordonnement de la chaine de caractere

    for(i=0;i<ilong;i++)                    //affichage de tout le tableau
        {
            printf("%d ",tab[i]);
        }
    puts("");
    puts("");


    fmoy= moyenne(tab,ilong);               //calcul moyenne
    printf("La moyenne est de:%f\n",fmoy);  //affichage moyenne

    fmed= mediane(tab,ilong);               //calcul mediane
    printf("La mediane est de:%f\n",fmed);  //affichage mediane

    fecart_type= ecart_type(tab,ilong,fmoy);            //calcul de l'ecart type
    printf("L'ecart type est de:%f\n",fecart_type);     //affichage de lecart type

    return 0;
}

