Oui les structures vont aider.
Je pense qu'il faut simplement que tu déclares un tableau de 5 cases, chaque case étant un intervalle (borne inf., sup. et sa valeur) :
struct intervalle{
double inf, sup; // les bornes
int val; // la valeur
};
intervalle intervalles[5];
Une procédure pour initialiser les intervalles :
void initialiser()
{
int i;
for(i = 0; i < 5; i++)
{
intervalles[i].inf = i * 2;
intervalles[i].sup = i * 2 + 1;
intervalles[i].val = 0;
}
}
Et une procédure pour y ajouter des réels :
void saisir(double val)
{
int i;
for(i = 0; i < 5; i++)
{
if(val > intervalles[i].inf && val <= intervalles[i].sup)
{
intervalles[i].val++;
return;
}
}
// si on arrive ici, la valeur ne se range dans aucun intervalle
printf("Veuillez entrer un réel dans ]0.0;10.0]\n");
}
Une procédure pour afficher :
void afficher()
{
int i, j;
for(i = 0; i < 5; i++)
{
printf("]%f,%f] : ", intervalles[i].inf, intervalles[i].sup);
for(j = 0; j < intervalles[i].val; j++)
printf("*");
printf("\n");
}
}
Une fonction pour le minimum :
int minimum()
{
int i, imin, min = -1;
for(i = 0; i < 5; i++)
{
if(-1 == min || intervalles[i].val < min)
{
imin = i;
min = intervalles[i].val;
}
}
return imin;
}
Je te laisse faire celle du maximum :)


