Advertisement
buonaseva_fatelo

Untitled

Nov 23rd, 2023 (edited)
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.50 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. const int DIM = 5;
  6.  
  7. void cercaElemento(const int arr[], int valore) {
  8.     bool trovato = false;
  9.     for (int i = 0; i < DIM; ++i) {
  10.         if (arr[i] == valore) {
  11.             cout << "Valore trovato, indice " << i << endl;
  12.             trovato = true;
  13.             break;  // Trovato il primo, esci dal ciclo
  14.         }
  15.     }
  16.     if (!trovato) {
  17.         cout << "Valore non trovato" << endl;
  18.     }
  19. }
  20.  
  21. void cercaElementoTutteOccorrenze(const int arr[], int valore) {
  22.     bool trovato = false;
  23.     cout << "Valore trovato, indici ";
  24.     for (int i = 0; i < DIM; ++i) {
  25.         if (arr[i] == valore) {
  26.             cout << i << " ";
  27.             trovato = true;
  28.         }
  29.     }
  30.     if (!trovato) {
  31.         cout << "Valore non trovato";
  32.     }
  33.     cout << endl;
  34. }
  35.  
  36. void contaElementi(const int arr[], int valore) {
  37.     int uguali = 0, maggiori = 0, minori = 0;
  38.     for (int i = 0; i < DIM; ++i) {
  39.         if (arr[i] == valore) {
  40.             uguali++;
  41.         } else if (arr[i] > valore) {
  42.             maggiori++;
  43.         } else {
  44.             minori++;
  45.         }
  46.     }
  47.     cout << "Uguali: " << uguali << ", Maggiori: " << maggiori << ", Minori: " << minori << endl;
  48. }
  49.  
  50. bool controllaOrdinamento(const int arr[]) {
  51.     for (int i = 1; i < DIM; ++i) {
  52.         if (arr[i - 1] > arr[i]) {
  53.             return false;  // Non ordinato in senso non decrescente
  54.         }
  55.     }
  56.     return true;  // Ordinato in senso non decrescente
  57. }
  58.  
  59. int main() {
  60.     int scelta;
  61.     int array[DIM];
  62.  
  63.     srand(time(0));
  64.  
  65.     do {
  66.         cout << "Menu:" << endl;
  67.         cout << "1. Genera array di interi casuali" << endl;
  68.         cout << "2. Cerca valore nel primo elemento trovato" << endl;
  69.         cout << "3. Cerca valore in tutte le occorrenze" << endl;
  70.         cout << "4. Conta quantità di elementi uguali, maggiori e minori di un dato valore" << endl;
  71.         cout << "5. Controlla se gli elementi sono ordinati in senso non decrescente" << endl;
  72.         cout << "6. Esci" << endl;
  73.  
  74.         cout << "Inserisci la tua scelta: ";
  75.         cin >> scelta;
  76.  
  77.         switch (scelta) {
  78.             case 1:
  79.                 for (int i = 0; i < DIM; ++i) {
  80.                     array[i] = rand() % 10 +1;  // Genera numeri casuali da 1 a 10
  81.                 }
  82.                 break;
  83.             case 2:
  84.                 int valoreCerca;
  85.                 cout << "Inserisci il valore da cercare: ";
  86.                 cin >> valoreCerca;
  87.                 cercaElemento(array, valoreCerca);
  88.                 break;
  89.             case 3:
  90.                 int valoreCercaTutte;
  91.                 cout << "Inserisci il valore da cercare: ";
  92.                 cin >> valoreCercaTutte;
  93.                 cercaElementoTutteOccorrenze(array, valoreCercaTutte);
  94.                 break;
  95.             case 4:
  96.                 int valoreConteggio;
  97.                 cout << "Inserisci il valore da contare: ";
  98.                 cin >> valoreConteggio;
  99.                 contaElementi(array, valoreConteggio);
  100.                 break;
  101.             case 5:
  102.                 if (controllaOrdinamento(array)) {
  103.                     cout << "Gli elementi sono ordinati in senso non decrescente." << endl;
  104.                 } else {
  105.                     cout << "Gli elementi non sono ordinati in senso non decrescente." << endl;
  106.                 }
  107.                 break;
  108.             case 6:
  109.                 break;
  110.             default:
  111.                 cout << "Scelta non valida. Riprova." << endl;
  112.         }
  113.  
  114.     } while (scelta != 6);
  115.  
  116.     return 0;
  117. }
  118.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement