Originariamente inviato da andbin
Gli approcci possono essere più di uno e diversi. Puoi ordinare l'array e poi cerchi linearmente, saltando il primo numero e prendendo il secondo che trovi (es. {5, 2, 5, 4, 3} ---> {5, 5, 4, 3, 2} banale scansione in sequenza, salti il 5 e il 4 lo prendi).
Oppure con del tuo codice tieni 2 variabili (primoMaggiore e secondoMaggiore) che aggiorni man mano che scansioni l'array. Qui è più questione di "logica" (ragionamento) che programmazione.
Oppure usi una variabile countMax (un semplice contatore) e nel momento in cui è pari a 2, restituisci il massimo, che hai salvato in quale altra variabile. Però questa è più complessa.