fcamuso

Array (lezione 18)

Jul 24th, 2021
909
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int sommatoria(int v[], int inseriti)
  6. {
  7.     int somma = 0;
  8.     for (int i=0; i<inseriti; i++)
  9.     {
  10.       somma += v[i];
  11.     }
  12.  
  13.     return somma;
  14. }
  15.  
  16. int conta_maggiori_di(int v[], int inseriti, int soglia)
  17. {
  18.     int contatore = 0;
  19.     for (int i=0; i<inseriti; i++)
  20.     {
  21.       if (v[i]>soglia) { contatore++;}
  22.     }
  23.  
  24.     return contatore;
  25. }
  26.  
  27. int pos_minimo(int v[], int inseriti)
  28. {
  29.     int p_min = 0;
  30.  
  31.  
  32.     for (int i=1; i<inseriti; i++)
  33.     {
  34.       if (v[i]<=v[p_min]) { p_min=i;}
  35.     }
  36.  
  37.     return p_min;
  38. }
  39.  
  40. int cerca(string v[], int inseriti, string cercato)
  41. {
  42.     int pos_trovato=-1;
  43.  
  44.     for(int i=0; i<inseriti;i++)
  45.     {
  46.       if (v[i]==cercato)
  47.       {
  48.          pos_trovato=i;
  49.          break;
  50.       }
  51.     }
  52.     return pos_trovato;
  53. }
  54. int main()
  55. {
  56.     const int MAX=100;
  57.     int inseriti=0;
  58.  
  59.     int v[MAX] = {-4, 0, 6, 7,-7,90, 23, -7};
  60.     inseriti = 8;
  61.  
  62.     //sommatoria e media
  63.     int somma = 0;
  64.     for (int i=0; i<inseriti; i++)
  65.     {
  66.       somma += v[i];
  67.     }
  68.     cout << "Somma (senza funzione): " << somma << endl;
  69.     double media = (double)somma/inseriti;
  70.     cout << "Media (senza funzione): " << media << endl;
  71.  
  72.     somma = sommatoria(v, inseriti);
  73.     cout << "Somma (CON funzione): " << somma << endl;
  74.     media = (double)somma/inseriti;
  75.     cout << "Media (CON funzione): " << media << endl;
  76.  
  77.     //contare quelli che ...
  78.     int conta_positivi =0;
  79.     for (int i=0; i<inseriti; i++)
  80.     {
  81.       if (v[i]>0) { conta_positivi++;}
  82.     }
  83.     cout << "Trovati maggiori di zero: (senza funzione): " << conta_positivi << endl;
  84.  
  85.     cout << "Trovati maggiori di zero: (CON funzione): "
  86.          << conta_maggiori_di(v, inseriti, 0) << endl;
  87.  
  88.  
  89.     //posizione minimo o massimo
  90.     int pos_min = 0;
  91.  
  92.  
  93.     for (int i=1; i<inseriti; i++)
  94.     {
  95.       if (v[i]<=v[pos_min]) { pos_min=i;}
  96.     }
  97.     cout << "Minimo localizzato alla posizione " << pos_min
  98.          <<" e ha valore " << v[pos_min] << endl;
  99.  
  100.     pos_min = pos_minimo(v, inseriti);
  101.  
  102.     cout << "Minimo localizzato alla posizione " << pos_min
  103.          <<" e ha valore " << v[pos_min] << endl;
  104.  
  105.     //ricerca della posizione di un elemento con un certo valore
  106.     string nomi[MAX] = {"Rossi", "Verdi","Azzurri", "Viola","Gialli"};
  107.     inseriti=5;
  108.     string cercato="Viola";
  109.  
  110.     int pos_trovato=-1;
  111.  
  112.     for(int i=0; i<inseriti;i++)
  113.     {
  114.       if (nomi[i]==cercato)
  115.       {
  116.          pos_trovato=i;
  117.          break;
  118.       }
  119.     }
  120.  
  121.    if (pos_trovato>-1)
  122.    {
  123.      cout << "Elemento localizzato alla posizione " << pos_trovato
  124.          <<" e ha valore " << nomi[pos_trovato] << endl;
  125.    }
  126.    else
  127.    {
  128.      cout << "Elemento non trovato\n";
  129.    }
  130.  
  131.    pos_trovato = cerca(nomi, inseriti, cercato);
  132.    if (pos_trovato>-1)
  133.    {
  134.      cout << "Elemento localizzato alla posizione " << pos_trovato
  135.          <<" e ha valore " << nomi[pos_trovato] << endl;
  136.    }
  137.    else
  138.    {
  139.      cout << "Elemento non trovato\n";
  140.    }
  141.  
  142.     return 0;
  143. }
  144.  
RAW Paste Data