libri-javascript-python

Realizziamo un algoritmo per il calcolo del massimo fra tre numeri in C++, cioè dell’elemento più grande dei tre inseriti in input.

Proponiamo varie soluzioni al fine di confrontarle.

Prima soluzione massimo fra tre numeri in C++

La prima soluzione in poche parole traduce il diagramma di flusso che ho presentato in questo tutorial: massimo fra tre numeri.

In questa soluzione si tralascia, per il momento, il caso in cui i tre numeri possano essere uguali.

Chiediamo l’inserimento dei tre numeri e poi valutiamo:

a>b se è vero inseriamo un if annidato dove ci chiediamo se a è anche maggiore di c:

a>c se è vero dunque a è il maggiore;

altrimenti il maggiore chiaramente è c.

Se invece b>a è vero, inseriamo un if annidato dove controlliamo se anche b è maggiore di c.

b>c se è vero dunque b è il maggiore;

altrimenti il maggiore ovviamente sarà c.

Ecco dunque l’algoritmo in C++:

#include<iostream>
using namespace std;

int main() {
	int a,b,c;
	
	cout<<"Inserisci il primo numero: ";
	cin>>a;
	cout<<"Inserisci il secondo numero: ";
	cin>>b;
	cout<<"Inserisci il terzo numero: ";
	cin>>c;
	
	if(a>b)
		if(a>c)
	    		cout<<"Il numero maggiore e': "<<a;
	    	else
	    		cout<<"Il numero maggiore e': "<<c;
	else 
		if (b>c)
	    		cout<<"Il numero maggiore e': "<<b;
		else
			cout<<"Il numero maggiore e': "<<c;
	return 0;
}

Seconda soluzione – maggiore fra tre numeri in C++

La seconda soluzione implementa il secondo algoritmo presentato sempre in questa lezione: massimo fra tre numeri.

Questa soluzione è più snella della seconda e fa uso di una variabile max dove memorizzare il valore.

#include<iostream>
using namespace std;

int main() {
	int a,b,c,max;
	
	cout<<"Inserisci il primo numero: ";
	cin>>a;
	cout<<"Inserisci il secondo numero: ";
	cin>>b;
	cout<<"Inserisci il terzo numero: ";
	cin>>c;
	
	max=a;	
	
	if(b>max)
	    max=b;
	if(c>max)
	    max=c;

	cout<<"Il numero maggiore e': "<<max;
	return 0;
}

Potrei direttamente scrivere:

cout<<“Inserisci il primo numero: “; cin>>max;

Evitando così l’uso di una variabile.

Terza soluzione

Nella terza soluzione si fa uso degli operatori logici ed in particolare dell’and.

Aggiungiamo anche il caso in cui i tre numeri siano uguali e quindi visualizziamo un messaggio opportuno in ouput.

#include<iostream>
using namespace std;

int main() {
	int a,b,c;
	
	cout<<"Inserisci il primo numero: ";
	cin>>a;
	cout<<"Inserisci il secondo numero: ";
	cin>>b;
	cout<<"Inserisci il terzo numero: ";
	cin>>c;
	
	if(a==b && a==c)
	    cout<<"I tre numeri sono uguali ";
	else if(a>b && a>c)
	    cout<<"Il numero maggiore e': "<<a;
	else if(b>c)
	    cout<<"Il numero maggiore e': "<<b;
	else
	    cout<<"Il numero maggiore e': "<<c;
	return 0;
}

Ecco alcune possibili risoluzioni dell’algoritmo per la ricerca del valore massimo fra tre inseriti in C++.

Alcuni link utili

Indice argomenti linguaggio C++

1- Introduzione al linguaggio C++

2- Variabili in C++

3- Operatori di assegnazione in C++

4- Esempi in C++

5- Casting in C++

Successione di Fibonacci in C++

Alcuni tutorial in C

Somma elementi diagonale principale di una matrice

Sommare elementi della cornice esterna di una matrice in C

Somma di due matrici in C

Sommare dei numeri di una matrice in C

Prodotto tra matrici in C

Come ricercare gli elementi in una matrice in C

Inserire dati in una matrice in C

Tavola pitagorica in C