oregon ha scritto:
Piuttosto che fare questo lavoro, attendi che vengano inseriti i tag code. Capisco la tua voglia di rispondere, scrivere codice, risolvere ma così si fa solo confusione...
Ho modificato il mio post.
MarcoTopone ha scritto:
Salve. Sto riscontrando svariati problemi riguardanti la media di ogni singolo studente e la media totale di ogni prova di tutti i studenti. Non capisco come risolverli.
@MarcoTopone
Il primo grande errore che fai, non azzeri i vettori e le variabili e non facendolo al primo utilizzo conterranno un valore a caso che dipende dal contenuto della memoria. Se il primo uso è un'assegnazione non fa nulla, ma se al primo uso fai
somma_studente[i]=somma_studente[i]+M[i][j];
equivale a: ValoreAcaso = ValoreAcaso + ValoreNoto
secondo errore se dichiari: float M[RIG][COL];
poi con
scanf("%d",&M[i][j]);
immetti un intero in un float, che in C significa lucciole per lanterne.
Terzo errore, nei cicli devi porre attenzione a dove inizia e finisce un for, altrimenti esegui conteggi errati, o non li esegui.
Quarto, per il calcolo
somma_compiti e
media_compiti non ti occorrono i vettori, visto che mano mano conterranno la somma maturata nel ciclo di conteggio, che è un solo valore che si incrementa.
Quinto, le medie degli studenti sono molte e per stamparle vanno in un ciclo, la media totale dei voti è una, non va in un ciclo.
Dare un nome significativo alle variabili, aiuta nella comprensione del codice.
Con queste indicazioni prova a correggere il codice.