Advertisement
Dani_info

multimi

Feb 19th, 2018
133
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 main()
  6.  
  7. {
  8.     int pb;
  9.     cout << "Introdu nr problemei: "; cin >> pb;
  10.     switch (pb)
  11.     {
  12.     case 1:
  13.     {
  14.         int A[100], B[100], a, b;
  15.         cout << "Cate elemente are multimea A?"; cin >> a;
  16.         cout << "Cate elemente are multimea B?"; cin >> b;
  17.         cout << "Introduceti elementele multimii A: " << endl;
  18.         for (int i = 0; i < a; i++)
  19.             cin >> A[i];
  20.         cout << "Introduceti elementele multimii B: " << endl;
  21.         for (int j = 0; j < b; j++)
  22.             cin >> B[j];
  23.         //afisare multimi
  24.         cout << "A={";
  25.         for (int i = 0; i < a; i++)
  26.             cout << A[i] << ",";
  27.         cout << "}" << endl;
  28.         cout << "B={";
  29.         for (int j = 0; j < b; j++)
  30.             cout << B[j] << ",";
  31.         cout << "}" << endl;
  32.         //intersectia
  33.         int I[100], i = 0, k = 0;
  34.         while (i < a)
  35.         {
  36.             int ok = 1;
  37.             for (int j = 0; j < b && ok; j++)
  38.             {
  39.                 if (A[i] == B[j])
  40.                 {
  41.                     I[k] = A[i];
  42.                     ok = 0;
  43.                     k++;
  44.                 }
  45.             }
  46.             i++;
  47.         }
  48.         //reuniunea
  49.         int R[200], l = 0;
  50.         for (int i = 0; i < a; i++)
  51.         {
  52.             R[l] = A[i];
  53.             l++;
  54.         }
  55.         int j = 0;
  56.         while (j < b)
  57.         {
  58.             int ok = 1;
  59.             for (int i = 0; i < a; i++)
  60.             {
  61.                 if (A[i] == B[j])
  62.                     ok = 0;
  63.             }
  64.             if (ok)
  65.             {
  66.                 R[l] = B[j];
  67.                 l++;
  68.             }
  69.             j++;
  70.         }
  71.         //diferenta A\B
  72.         int D[100], d = 0, m = 0;
  73.         while (m < a)
  74.         {
  75.             int ok = 1;
  76.             for (int j = 0; j < b; j++)
  77.                 if (A[m] == B[j])
  78.                     ok = 0;
  79.             if (ok)
  80.             {
  81.                 D[d] = A[m];
  82.                 d++;
  83.             }
  84.             m++;
  85.         }
  86.         //afisare difernenta, reuniune, intersectie
  87.         cout << "Diferenta A\B  este:{";
  88.         for (int i = 0; i < d; i++)
  89.             cout << D[i] << ",";
  90.         cout << "}" << endl;
  91.         cout << "Reuniunea celor doua multimi este: {";
  92.         for (int i = 0; i < l; i++)
  93.             cout << R[i] << ",";
  94.         cout << "}" << endl;
  95.         cout << "Intersectia multimilor A si B  este:{";
  96.         for (int j = 0; j < k; j++)
  97.             cout << I[j] << ",";
  98.         cout << "}" << endl;
  99.         break;
  100.     }
  101.     case 2:
  102.     {
  103.         int n, v[1000], d, k=0;
  104.         cout << "Cate elemente are multimea??"; cin >> d;
  105.         cout << "Introdu elementele multimii:";
  106.         for (int i = 0; i < d; i++)
  107.             cin >> v[i];
  108.         cout << "Introdu nr: "; cin >> n;
  109.         for (int i = 0; i < d; i++)
  110.             if (v[i] == n)
  111.                 k++;
  112.         if (k == 0)
  113.             cout << "Nr citit nu se regaseste in multime" << endl;
  114.         else
  115.             cout << "Nr citit apare de " << k << " ori" << endl;
  116.     }
  117.  
  118.     }
  119.     system("pause");
  120.     return 0;
  121. }
Advertisement
RAW Paste Data Copied
Advertisement