Predisponi il codice e l’algoritmo che risolve il seguente problema. Crea un menu con lo switch così:
- Carica vettore input
- Carica vettore random
- Stampa vettore
- Conta quante ripetizioni di un numero scelto
- Esci
Le funzioni di carica riempiono un vettore di 10 interi inseriti a tastiera. La seconda li carica sempre nel vettore ma in modo casuale con numeri da 0 a 100. La stampa è intuitiva fa vedere tutti i valori del vettore. Il quarto punto legge in input un valore intero e scorre il vettore contando quante volte quel valore si ripete e stampa tale conteggio.
L’esercizio non è difficile ma contiene diversi elementi interessanti visti in diverse esercitazioni singole. Per i numeri casuali/random, potete approfondire qui.
#include <iostream>
#include <time.h>
#include <stdlib.h>
using namespace std;
int const DIM = 10;
int main()
{
srand(time(NULL));
int scelta = -1;
int v[DIM];
int valore;
int contatore = 0;
cout << "|-------------------------------------|" << endl;
cout << "| MENU |" << endl;
cout << "|-------------------------------------|" << endl;
cout << "1. Carica vettore da input" << endl;
cout << "2. Carica vettore random" << endl;
cout << "3. Stampa vettore" << endl;
cout << "4. Conta quante ripetizioni di un numero scelto" << endl;
cout << "0. Esci " << endl;
while (scelta != 0) //fa ripetere la scelta del menu ad oltranza!
{
cout << "Scegli -> ";
cin >> scelta;
switch (scelta)
{
case 1:
for (int i=0; i<DIM; i++ )
{
cout << "Inserisci un valore ";
cin >> v[i];
}
break;
case 2:
for (int i=0; i< DIM; i++ )
{
v[i] = rand() % 100;
}
cout << "Caricato!" << endl;
break;
case 3:
for (int i=0; i<DIM; i++ )
{
cout << v[i] << " ";
}
cout << endl;
break;
case 4:
cout << "inserisci il valore da valutare ";
cin >> valore;
for (int i=0; i<DIM; i++ )
{
if (v[i] == valore)
{
contatore++;
}
}
cout << "il numero "<< valore<<" si ripete "<<contatore << endl;
break;
case 0:
//non faccio un tubo, mi serve solo per uscire dal ciclo
break;
default:
cout << "Scelta non valida" << endl;
}
}
return 0;
}
Listato GitHub -> https://github.com/alfredocentinaro/esercizi-cplusplus/tree/main/menu-vettori-random
Eseguilo su Replit -> https://replit.com/@AlfredoCentina2/munu-vettori-random
Ultima modifica 27 Febbraio 2022