/*! \file q5.c

 *  \author EISTI
 *  \version 0.1
 *
 *  \brief normalise un tableau
 *
 */

#include <stdio.h>
#define N 5

/*! \fn void afficheTab(int tailleT, int t[])
 *  \author EISTI
 *  \version 0.1
 *  \date Fri Jan 15 15:57:52 2010
 *
 *  \brief Affiche un tableau d'entier
 *
 *  \param tailleT taille du tableau
 *  \param t[] tableau à afficher
 *
 */
void afficheTab(int tailleT, int t[]) {

  int i;

  for(i=0;i<tailleT;i++){
    printf("| %d ",t[i]);
  }
  printf("|\n ");

}

/*! \fn void afficheTabRe(int tailleT, float t[])
 *  \author EISTI
 *  \version 0.1
 *  \date Fri Jan 15 15:57:52 2010
 *
 *  \brief Affiche un tableau de réels
 *
 *  \param tailleT taille du tableau
 *  \param t[] tableau à afficher
 *
 */
void afficheTabRe(int tailleT, float t[]){
  int i;

  for(i=0;i<tailleT;i++){
    printf("| %.2f ",t[i]);
  }
  printf("|\n ");

}


/*! \fn int max(int tailleT, int t[])
 *  \author EISTI
 *  \version 0.1
 *  \date Fri Jan 15 16:01:05 2010
 *
 *  \brief Récupère la valeur maximum d'un tableau
 *
 *  \param tailleT taille du tableau
 *  \param t[] tableau d'entiers à parcourir
 *
 *  \return valeur maximale du tableau
 */

int max(int tailleT, int t[]) {

  int i,max;
  
  max = t[0];
  for(i=1;i<tailleT;i++){
    if(max<t[i])
      max=t[i];
  }
  return(max);
}


/*! \fn int min(int tailleT, int t[])
 *  \author EISTI
 *  \version 0.1
 *  \date Fri Jan 15 16:01:05 2010
 *
 *  \brief Récupère la valeur minimum d'un tableau
 *
 *  \param tailleT taille du tableau
 *  \param t[] tableau d'entiers à parcourir
 *
 *  \return valeur minimale du tableau
 */
int min(int tailleT, int t[]){
  int i,min;
  
  min = t[0];
  for(i=1;i<tailleT;i++){
    min = (min>t[i])?t[i]:min;
  }
  return(min);
}

/*! \fn int main (int argc, char** argv)
 *  \author EISTI
 *  \version 0.1
 *  \date Fri Jan 15 15:29:37 2010
 *
 *  \brief Fonction principale
 *
 *
 * \param argc : Nombre d'argument
 * \param argv : Tableau des arguments
 * \return 0 : le programme doit se terminer normalement
 *
 * \remarks 
 */
int main(int argc, char** argv){
  int tab[5],i, m, M;
  float res[5];

  //saisie du 1er tableau
  for(i=0;i<5;i++){
    printf("\nSaisissez la valeur de la case %d : ",i);
    scanf("%d",&tab[i]);
  }

  printf("\n Votre saisie : \n ");
  afficheTab(5,tab);
  // calcul des min et max
  m = min(5,tab);
  M = max(5,tab);
  // remplissage avec les valeurs normalisees
  for(i=0;i<5;i++){
    res[i] = (float)(tab[i] - m)/(M - m);
  }
  // affichage du tableau normalise
  afficheTabRe(5,res);
}
