Sviluppiamo un altro esempio per trovare il maggiore e quante volte ricorre in C++.

Trovare il maggiore e quante volte ricorre in C++, implementazione

Realizziamo l’algoritmo chiedendo all’utente quanti numeri vuole inserire.

Innanzitutto definiamo le variabili che ci servono per lo sviluppo del seguente algoritmo:

int N – Indica la quantità dei numeri da inserire. Su questa variabile faremo il controllo dell’input affinchè N sia maggiore di zero.

int n – Indica il numero che di volta in volta viene inserito.

int max – è la variabile dove memorizziamo il valore maggiore.

conta_max – è la variabile dove memorizziamo quante volte ricorre il massimo, cioè il valore maggiore.

int i – Infine i è la variabile contatore per il ciclo while, che inizializziamo a zero.


Procediamo adesso con lo sviluppo dell’algoritmo in C++.

Innanzitutto chiediamo quanti numeri vogliamo inserire, cioè il nostro N, e facciamo un controllo dell’input.

Quindi chiediamo di inserire un numero e lo assegniamo alla variabile max.

Perciò inizializziamo la variabile conta_max a 1.

Dopo utilizziamo il ciclo while, impostando la condizione i<N e all’interno implementiamo le istruzioni che servono per la ricerca del valore massimo.

Poi si inserisce un altro numero e lo si confronta col max. Se questo valore è maggiore allora si trova un nuovo max e dunque alla variabile conta_max assegno nuovamente il valore 1. Altrimenti se si trova un valore uguale al max, la variabile conta_max viene incrementata di 1.

Ecco dunque il codice completo:

#include <iostream>
using namespace std;

int main() {
	int i, N, max, n, conta_max;
    
        do{
    	        cout<<"Quanti numeri vuoi inserire? : \t";
		cin>>N;
	}while (N<=0);

	i=0;
	cout<<"Inserisci il primo numero: \t";
	cin>>max;
        conta_max=1;
	
	while(i<N-1) {
		cout<<"Inserisci il numero: \t";
		cin>>n;
	        if(n>max){
			max=n;
                        //se trova un nuovo max riporta la variabile a 1
			conta_max=1;
		}	
		else if (n==max)
			conta_max++;
		i++;
	}

	cout<<"Il massimo e' "<<max<<" ed e' stato inserito "<<conta_max<<" volte."<<endl;
return 0;
}

Possiamo anche evitare la variabile contatore i se usiamo la condizione while(N>1) e decrementiamo di volta in volta N di 1.

Ecco quindi una seconda soluzione:

#include <iostream>
using namespace std;

int main() {
	int N, max, n, conta_max=1;
    
        do{
    	        cout<<"Quanti numeri vuoi inserire? : \t";
		cin>>N;
	}while (N<=0);

	cout<<"Inserisci il primo numero: \t";
	cin>>max;
	
	while(N>1) {
		cout<<"Inserisci il numero: \t";
		cin>>n;
	        if(n>max){
			max=n;
			conta_max=1; 
                       //se trova un nuovo max riporta la variabile a 1
		}	
		else if (n==max)
			conta_max++;
		N--;
	}

	cout<<"Il massimo e' "<<max<<" ed e' stato inserito "<<conta_max<<" volte."<<endl;
return 0;
}

Questo era solo un esempio di possibile implementazione dell’algoritmo per trovare il maggiore e quante volte ricorre 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++