Andre_Flav ha scritto:
l'esercizio in questione e': Calcolare la media geometrica di un elenco di valori positivi. (Per calcolare la media geometrica bisogna moltiplicare ogni valore e poi fare la radice ennesima). Io ho pensato di utilizzare un ciclo do-while con valore sentinella , ma non so dove sto sbagliando.
Innanzitutto, non so se l'hai notato, all'inizio chiedi un numero che poi
non usi perché nel do-while ne chiedi già un altro.
Poi dove è la dichiarazione della variabile
somma ??
E comunque quella che hai fatto NON è una media geometrica (vedi su Wikipedia). Cosa sia non lo so ....
Prima devi moltiplicare tutti i valori. Quindi devi avere una variabile inizializzata a 1 e poi ciascun valore inserito lo "accumuli" in quella variabile tramite moltiplicazione. E solo alla fine, quando hai terminato l'input, fai la radice
n-esima. NON è quello che hai fatto ..
E inoltre nota, usi un valore negativo/zero come sentinella per terminare il ciclo. Ok, ma se inserisci il valore sentinella, ora lo stai USANDO per i calcoli! No, ovviamente.
Ripensa un po' il tutto.
P.S. puoi anche chiedere inizialmente all'utente quanti numeri gestire. Diventa più semplice e non devi trattare alcun valore in modo "speciale".