Problema esercizio C
Salve ho un problema riguardante un esercizio in C. Quello che devo fare in tale esercizio, è costruirmi una matrice random di ordine 15x10 con valori random fra 1 e 10, tale matrice mi rappresenta una matrice dei giudizi quindi le righe, rappresentano 15 persone e le colonne rappresentano i giudici..In output devo avere i primi 3 classificati e quindi, la riga che ha somma maggiore e poi ha seguito.
Per quanto riguarda il primo classificato non ho avuto problemi, ho fatto una funzione che mi calcola la somma massima nelle righe e mi restituisce l'indice di tale riga però, per il secondo ed il terzo, non so proprio come procedere...
Per quanto riguarda il primo classificato non ho avuto problemi, ho fatto una funzione che mi calcola la somma massima nelle righe e mi restituisce l'indice di tale riga però, per il secondo ed il terzo, non so proprio come procedere...

Risposte
A parte che puoi fare la stessa cosa ignorando la riga del primo e poi la prima e la seconda, basta che generalizzi un minimo il codice del primo per tenere 3 classificati al posto di solo il primo. Potresti anche ordinare le righe.
Mmm come posso fare per ignorarla?..Cioè il mi calcolo la somma massima delle righe e quindi poi da lì, mi ritrovo l'indice massimo, invece per stampare ad es. il secondo faccio la stessa cosa (ovvero calcolare le somme) ma con la condizione che gli indici delle righe variano ugualmente ma, escludendo l'indice massimo?
Un metodo semplice potrebbe essere quello di creare un array di strutture (che contengono l'indice o il valore). Inizializzi quindi questo array in modo da contenere le prime tre righe ordinate. A questo punto iteri su tutte le restanti righe inserendo l'indice e la somma in ordine all'interno di questo array. In questo modo avrai alla fine ottenuto un array che contiene le informazioni che ti interessano. Un'alternativa potrebbe anche essere creare una array di queste strutture grande quanto il numero di righe della tua matrice e quindi ordinare tale array in modo da avere i valori ordinati.
Io ho provato così: Mi sono fatta le somme di tutte le righe, e le ho messe in un vettore. Tale vettore poi l'ho ordinato in modo decrescente affinché i primi 3 valori, siano i 3 vincitori..Però, a me servono gli indici delle righe che hanno tale valore ..quindi non so se sto facendo un pasticcio o meno
Devi ordinare in contemporanea le somme e gli indici.
Ad ordinare gli elementi l'ho fatto, anche altre volte..ma ad ordinare gli indici, non so proprio come si fa..
Devi semplicemente fare sull'array degli indici gli stessi scambi che fai sull'array dei valori.