Ho cambiato il codice.... ma l'ordine crescente e decrescente mi danno valori sbagliati..:
#include<stdio.h>
#include<string.h>
#include<iostream>
#include<math.h>
#include<time.h>
#define MAX 2
using namespace std;
main() //non si possono inserire voti con parte decimale
//non ordina per nome o per media
{
int temp;
int numero=3, // Numero degli utenti da inserire
c1, c2; // Contatori generici
// Contatore voti per calcolare media
//se un voto non è presente quella materia non la prende in considerazione
int contatore;
// Nomi delle materie
char materie[5][15]={"Italiano","Matematica","Informatica","Scienze","Arte"};
// dati alunni
char nome[MAX][100], cognome[MAX][100];
// Voti e medie
// voti[0]=Italiano
// Voti[1]=Matematica
// Voti[2]=Informatica
// Voti[3]=Scienze
// Voti[4]=Arte
int voti[MAX][5], media[MAX];
for(c1=0; c1<numero; c1++)
{
printf("\n Inserisci il nome %d ", c1+1);
scanf("%s,",nome[c1]);
printf("\n Inserisci il cognome %d ", c1+1);
scanf("%s,",cognome[c1]);
media[c1]=0;
contatore=0;
for (c2=0;c2<5;c2++)
{
printf("\n Inserisci il voto di %s: ", materie[c2]);
scanf("%d,",&voti[c1][c2]);
if (voti[c1][c2])
{
media[c1]+=voti[c1][c2];
contatore++;
}
}
media[c1]=media[c1]/contatore;
}
printf("\n");
/*
//NON STAMPA IL VALORE CORRETTO
printf("\n\nStampa del vettore con ordinamento crescente");
for(c1=0; c1<numero; c1++){
printf("\nLa media dell'utente %d %s %s vale %d", c1+1, nome[c1], cognome[c1], media[c1]);
}
for (c1=0; c1<numero; c1++){
for(int j=0; j<numero-c1-1; j++){
if(media[j]<media[j+1]){
temp=media[j+1];
media[j+1]=media[j];
media[j]=temp;
}
}
}
printf("\n\nStampa del vettore con ordinamento decrescente");
for(c1=0; c1<numero; c1++){
printf("\nLa media dell'utente %d %s %s del vettore vale %d", c1+1, nome[c1], cognome[c1], media[c1]);
}
*/
//media
for (c1=0;c1<numero;c1++)
{
printf(" La media di %s %s : %d\n",nome[c1], cognome[c1], media[c1]);
}
//media
return 0;
}