Advertisement
J00ker

Fisa_vectori

Feb 24th, 2014
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.76 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.   //1.Sa se determine media aritmetica a valorilor dintr-un vector strict mai mici decat o valoare x.
  8.     int n, x, i;
  9.     double s_mmici = 0, nr_val = 0;
  10.     int a[101];
  11.     cout << "n = "; cin >> n;
  12.     for(i = 0; i < n; i++)
  13.     {
  14.         cout << "a[" << i << "] = ";cin >> a[i];
  15.     }
  16.     cout << "x = "; cin >> x;
  17.     for(i = 0; i < n; i++)
  18.     {
  19.         if(a[i] < x)
  20.         {
  21.             s_mmici += a[i];
  22.             nr_val++;
  23.         }
  24.     }
  25.     cout << "\n1.Media aritmetica a valorilor din n mai mici decat " << x << " este: " << (s_mmici / nr_val);
  26.  
  27.   //2.Sa se determine suma elementelor pare ale unui vecror de n numere naturale.
  28.     int s_elem_par = 0;
  29.     for(i = 0; i < n; i++)
  30.     {
  31.         if(a[i] % 2 == 0)
  32.             s_elem_par += a[i];
  33.     }
  34.     cout << "\n\n2.Suma elementelor pare din n este: " << s_elem_par;
  35.  
  36.   //3.Sa se calculeze suma elementelor aflate pe pozitii pare intr-un vector de n numere intregi.
  37.     int s_poz_par = 0;
  38.     for(i = 0; i < n; i++)
  39.     {
  40.         if(i % 2 == 0)
  41.             s_poz_par += a[i];
  42.     }
  43.     cout << "\n\n3.Suma elementelor aflate pe pozitii pare este: " << s_poz_par;
  44.  
  45.   //4.Sa se determine lungimea maxima a unei secvente dintr-un vector care contine valori indentice.
  46.     int lung = 0, lung2 = 0, val_ident, i2;
  47.     for(i = 0; i < n; i++)
  48.     {
  49.         val_ident = a[i];
  50.         for(i2 = i; a[i] == a[i2]; i2++, lung++);
  51.         if(lung > lung2)
  52.             lung2 = lung;
  53.         lung = 0;
  54.     }
  55.     cout << "\n\n4.Lungimea maxima a unei secvente dintr-un vector care contine valori identice este: " << lung2;
  56.  
  57.   //5.Sa se verifice daca elementele unui vector sunt in ordine crescatoare.
  58.     for(i = 1; (i < n) && (a[i] > a[(i-1)]); i++);
  59.     if(i == n)
  60.         cout << "\n\n5.Elementele vectorului sunt crescatoare.";
  61.     else
  62.         cout << "\n\n5.Elementele vectorului nu sunt crescatoare.";
  63.  
  64.   /*6.Sa se scrie un program care calculeaza media aritmetica a numerelor strict pozitive dintr-un vector
  65.     de n numere intregi.*/
  66.     double s_nr_poz = 0, nr_poz = 0;
  67.     for(i = 0; i < n; i++)
  68.     {
  69.         if(a[i] > 0)
  70.         {
  71.             s_nr_poz += a[i];
  72.             nr_poz++;
  73.         }
  74.     }
  75.     cout << "\n\n6.Media aritmetica a numerelor strict pozitite este :" << (s_nr_poz / nr_poz);
  76.  
  77.   /*7.Sa se scrie secventa care determina valoarea minima si numaril de aparitii ale velorii minime dintr-un
  78.     vector de n numere.*/
  79.     int val_min = a[0], apar_val_min = 1;
  80.     for(i = 1; i < n; i++)
  81.     {
  82.         if(a[i] < val_min)
  83.         {
  84.             val_min = a[i];
  85.             apar_val_min = 1;
  86.         }
  87.         if(a[i] == val_min)
  88.             apar_val_min++;
  89.     }
  90.     cout << "\n\n7.Valoarea minima din vector este " << val_min << ", iar ea apare de " << apar_val_min << " ori.";
  91.  
  92.   /*8.Considerand un vector de a numere intregi pozitive, sa se copie valorile pare in vectorul b, lar cele
  93.     impare din vectorul c.*/
  94.     int c[101], b[101];
  95.     int i_c = 0, i_b = 0;
  96.     for(i = 0; i < n; i++)
  97.     {
  98.         if(a[i] % 2 == 0)
  99.         {
  100.             b[i_b] = a[i];
  101.             i_b++;
  102.         }
  103.         else
  104.         {
  105.             c[i_c] = a[i];
  106.             i_c++;
  107.         }
  108.     }
  109.     cout << "\n\n8.Elementele vectorului b sunt:\n";
  110.     for(i = 0; i <= i_b; i++)
  111.         cout << b[i_b] << " ";
  112.     cout << "\n  Elementele vectorului c sunt:\n";
  113.     for(i = 0; i <= i_c; i++)
  114.         cout << c[i_c] << " ";
  115.  
  116.   /*9.Cautare, stergere, inserare. Se considera un vector t de n numere intregi. Scrieti secvente de
  117.     program care efectureaza urmatoarele operatii:*/
  118.     int t[101];
  119.     cout << "\nn = "; cin >> n;
  120.     for(i = 0; i < n; i++)
  121.     {
  122.         cout << "t[" << i << "] = "; cin >> t[i];
  123.     }
  124.         /*a.Cautarea ultimei aparitii (celem mai din dreapta) a unei valori x in vector; se va afisa pozitia
  125.           gasita, sau -1 daca x nu apare in vector*/
  126.     cout << "x = "; cin >> x;
  127.     int poz_x_dr = -1;
  128.     for(i = 0; i < n; i++)
  129.         if((t[i] = x)&&(i > poz_x_dr))
  130.             poz_x_dr = i;
  131.     cout << "\n9.a.Cea mai din dreapta pozitie a lui " << x << " din vectorul t este:" << poz_x_dr;
  132.  
  133.         /*b.Cautarea celed de-a k-a aparitii a unei velori x; daca x nu apare de cel putin k ori in vector,
  134.           se va afisa valoarea -1, altfel se va afisa pozitia cautata.*/
  135.     int k;
  136.     cout << "\nk = "; cin >> k;
  137.     int k2 = k;
  138.     int poz_x_k = -1;
  139.     for(i = 0; (i < n)&&(k != 0); i++)
  140.     {
  141.         if(t[i] == x)
  142.         {
  143.             k--;
  144.         }
  145.     }
  146.     if(k == 0)
  147.         poz_x_k = i;
  148.     cout << "\nb.A " << k2 << "-a aparitie a lui " << x << " se afla pe pozitia " << poz_x_k;
  149.  
  150.         /*c.Determinarea numarului de apritiiale unei valori x in vector.*/
  151.     return 0;
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement