Ok grazie mille;
codice:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <conio.h>
void Ordina_decrescente_Sup(char nomi[35][],float voti[],int ne);
void Ordina_decrescente_inf(char nomi[35][],float voti[],int ne);
float Media(float voti[],int ne);
int main(void){
char nomi [35][20],risp;
float voti [35],media=0;
int i,k=0,ne=0;
//dati di input voti e nomi
do{
fflush(stdin);
printf("Inseisci nome:");
gets(nomi[ne]);
printf("\nInserisci voto");
scanf("%f",&voti[ne]);
ne++;
system ("cls");
printf("Vuoi continuare si o no?");
risp=_getch();
}while(risp=='s'||risp=='S');
//media della classe
system("cls");
printf("La media della classe e' %0.3f",Media(voti,ne));
//Richiamo funzioni per ordinare gli studenti in modo decrescente dividendoli ki sta sopra e sotto alla media
printf("\n\nAlunni sopra la media\n\n");
Ordina_decrescente_Sup(nomi,voti,ne);
printf("Alunni sotto la media\n\n");
Ordina_decrescente_inf(nomi,voti,ne);
_getch();
return 0;
}
void Ordina_decrescente_Sup(char nomi[35][],float voti[],int ne){
int i,k,J=1;
float app=0;
char app_str[20];
for(i=0;i<ne;i++){
for(k=0;k<ne;k++){
if(voti[k]> Media(voti,ne)){
if(voti[i]>voti[k]){
app=voti[k];
strcpy(app_str,nomi[i]);
voti[k]=voti[i];
strcpy(nomi[k],nomi[i]);
voti[i]=app;
strcpy(nomi[i],app_str);
}
}
}
}
for(i=0;i<ne;i++){
printf("%d %s\t\t%0.2f;\n",j++,nomi[i],voti[i]);
}
}
void Ordina_decrescente_inf(char nomi[35][],float vooti[],int ne){
int i,k,J=1;
float app=0;
char app_str[20];
for(i=0;i<ne;i++){
for(k=0;k<ne;k++){
if(voti[k]< Media (voti,ne)){
if(voti[i]>voti[k]){
app=voti[k];
strcpy(app_str,nomi[k]);
voti[k]=voti[i];
strcpy(nomi[k],nomi[i]);
voti[i]=app;
strcpy(nomi[i],app_str);
}
}
}
}
for(i=0;i<ne;i++){
printf("%d %s\t\t%0.2f;\n",j++,nomi[i],voti[i]);
}
}
float Media(float voti[],int ne){
int i;
float somma=0;
for(i=0;i<ne;i++)
somma=somma+voti[i];
return somma/ne;
}