Bonjour,
Je voudrais faire un programme qui remplit les notes d'une classe, affiche le maximum, le minimum, la moyenne des notes, puis classe les notes par ordre croissant puis décroissant. Mais je n'arrive pas à programmer la partie des classements par ordre croissant ou decroissant (ou c'est très long et je m'embrouille). voici mon programme:
#include<stdio.h>
int tab[20];
int note,a,b,c,max,min;
float moy;
main()
{
for(a=0;a<=19;a++)
{
printf("Entrez les notes: ");
scanf("%d", &tab[a]);
}
max=tab[0];
for(a=1;a<=19;a++)
{
if(max<tab[a])
max=tab[a];
}
min=tab[0];
for(a=1;a<=19;a++)
{
if(min>tab[a])
min=tab[a];
}
for(a=0;a<20;a++)
{
moy=(moy+tab[a]);
}
moy=moy/20;
printf("La moyenne est %.2f, le minimum %d et le maximum %d", moy,min,max);
}
Merci d'avance.

if( (type==0 && temp>tab[i]) || (type==1 && temp<tab[i]) ) {
Je n'ai pas trop compris la question en fait
Pour l'utiliser :
on a un tableau 'a' de 10 int
pour le trier dans l'ordre croissant on met 0 :
tri_tab(a,10,0);
pour le trier dans l'ordre décroissant on met 1 :
tri_tab(a,10,1);
Vous pouvez ajouter un enum si 0 ou 1 n'est pas terrible
enum tt_tab{TRI_C=0,TRI_D}; void tri_tab(int *tab,int n,int type) { int u,i,temp; for(u=0;u<n;u++) for(i=1;i<n;i++){ temp=tab[i-1]; if((type==TRI_C && temp>tab[i]) || (type==TRI_D && temp<tab[i])) { tab[i-1]=tab[i]; tab[i]=temp; } } }et quand on l'appel :
croissant,
tri_tab(a,10,TRI_C);
décroissant,
tri_tab(a,10,TRI_D);