Realizziamo un semplice programma per trovare il massimo tra n numeri in C++.
Con il termine di valore massimo intendiamo il valore più grande tra i numeri presi in input.
Per risolvere l’algoritmo occorrono dunque le seguenti variabili:
n – indica quanti numeri si vogliono inserire. Chiaramente deve essere un valore maggiore di zero. Infatti facciamo un controllo dell’input per vedere se n è maggiore di zero.
numero – variabile che rappresenta i numeri presi in input.
max – variabile che contiene il valore massimo.
Quindi con un ciclo for per i che va da 1 ad n, inserisco i numeri. Se la variabile i è uguale a 1 allora vuol dire che è il primo numero che stiamo inserendo e alla varibile max assegniamo il valore appena inserito.
Controlliamo poi se il numero è maggiore di max e se vero sostituiamo il valore con max.
Ecco quindi il listato completo del programma che realizza il massimo tra n numeri in C++.
#include <iostream>
using namespace std;
int main() {
int n, numero, max;
do {
cout << "Quanti numeri? ";
cin >> n;
} while (n <= 0);
for (int i = 1; i <= n; i++) {
cout << "Inserisci il " << i << " numero: ";
cin >> numero;
if (i == 1) {
max = numero;
}
if (numero > max) {
max = numero;
}
}
cout << "Il valore massimo è: " << max << endl;
return 0;
}
Un altro procedimento potrebbe essere quello di chiedere un numero prima del ciclo e poi confrontarlo con i valori a mano a mano inseriti.
Quindi ecco un’altra semplice risoluzione per l’algoritmo per il caloclo del massimo tra n numeri in C++.
#include <iostream>
using namespace std;
int main() {
int n, numero, max;
do {
cout << "Quanti numeri? ";
cin >> n;
} while (n <= 0);
cout << "Inserisci il primo numero: ";
cin >> max;
for (int i = 2; i <= n; i++) {
cout << "Inserisci il " << i << " numero: ";
cin >> numero;
if (numero > max) {
max = numero;
}
}
cout << "Il valore massimo è: " << max << endl;
return 0;
}
Quale delle due soluzioni sia la migliore ne discuteremo quando analizzeremo i tempi di esecuzione di un programma. Per il momento mi preme stimolarvi alla ricerca di quante più soluzioni possibili.
Infatti ci sono altre possibili implementazioni all’algoritmo per trovare il massimo tra n numeri in C++, che lascio fare a voi.
Dunque se volete nei commenti sotto l’articolo potete proporre la vostra soluzione, così possiamo discuterne assieme.
Alcuni link utili
Indice argomenti linguaggio C++
1- Introduzione al linguaggio C++
3- Operatori di assegnazione in C++