Advertisement
Cucura_Georgiana

Lucrare de laborator IX A

Mar 19th, 2018
181
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.83 KB | None | 0 0
  1. #include<iostream>
  2. using namespace std;
  3. void citire(int v[1001], int&n)
  4. {
  5.     int i;
  6.     cin>>n;
  7.     for(i=1; i<=n; i++)
  8.     {
  9.         cin>>v[i];
  10.     }
  11. }
  12. void scrie(int v[1001], int n)
  13. {
  14.     int i;
  15.     cout<<"{";
  16.     for(i=1; i<n; i++)
  17.     {
  18.         cout<<v[i]<<", ";
  19.     }
  20.     cout<<v[n]<<"}";
  21.     cout<<endl;
  22. }
  23. int apartine(int v[1001], int n, int E)
  24. {
  25.     int i=1;
  26.     while(i<=n && v[i]!=E)
  27.     {
  28.         i++;
  29.     }
  30.     if(i<=n)
  31.     {
  32.         return 1;
  33.     }
  34.     else
  35.     {
  36.         return 0;
  37.     }
  38. }
  39. void intersectie(int A[], int na, int B[], int nb, int C[], int&nc)
  40. {
  41.     int i;
  42.     nc=0;
  43.     for(i=1; i<=na; i++)
  44.     {
  45.         if(apartine(B, nb, A[i]))
  46.         {
  47.             nc++;
  48.             C[nc]=A[i];
  49.         }
  50.     }
  51. }
  52. void diferenta(int A[], int na, int B[], int nb, int C[], int&nc)
  53. {
  54.     int i;
  55.     for(i=1; i<=na; i++)
  56.     {
  57.         if(!apartine(B, nb, A[i]))
  58.         {
  59.             nc++;
  60.             C[nc]=A[i];
  61.         }
  62.     }
  63. }
  64. int meniu()
  65. {
  66.     int opt;
  67.     cout<<"Alegeti o optiune"<<'\n';
  68.     cout<<"Citirea multimii A...1"<<'\n';
  69.     cout<<"Citirea multimii B...2"<<'\n';
  70.     cout<<"Citirea elementelor...3"<<'\n';
  71.     cout<<"Afisarea multimii A...4"<<'\n';
  72.     cout<<"Afisarea multimii B...5"<<'\n';
  73.     cout<<"Apartenenta lui E la A...6"<<'\n';
  74.     cout<<"Intersectie...7"<<'\n';
  75.     cout<<"A-B...8"<<'\n';
  76.     cout<<"B-A...9"<<'\n';
  77.     cout<<"Reunire...10"<<'\n';
  78.     cout<<"Produs cartezian...11"<<'\n';
  79.     cout<<"Stop...0"<<'\n';
  80.     cout<<"Introduceti optiunea"<<'\n';
  81.     cin>>opt;
  82.     return opt;
  83. }
  84. int main()
  85. {
  86.     int opt, A[1001], B[1001], C[1001], na=0, nb=0, nc=0, E;
  87.     do
  88.     {
  89.         opt=meniu();
  90.         if(opt==1)
  91.         {
  92.             cout<<"Introduceti elemente multimii A"<<'\n';
  93.             citire(A, na);
  94.         }
  95.         if(opt==2)
  96.         {
  97.             cout<<"Introduceti elementele multimii B"<<'\n';
  98.             citire(B, nb);
  99.         }
  100.         if(opt==3)
  101.         {
  102.             cout<<"Introduceti elementul"<<'\n';
  103.             cin>>E;
  104.         }
  105.         if(opt==4)
  106.         {
  107.             scrie(A, na);
  108.         }
  109.         if(opt==5)
  110.         {
  111.             scrie(B, nb);
  112.         }
  113.         if(opt==6)
  114.         {
  115.             if(apartine(A, na, E)!=0)
  116.             {
  117.                 cout<<E<<" apartine multimii A"<<'\n';
  118.             }
  119.             else
  120.             {
  121.                 cout<<E<<" nu apartine multimii A"<<'\n';
  122.             }
  123.         }
  124.         if(opt==7)
  125.         {
  126.             intersectie(A, na, B, nb, C, nc);
  127.             scrie(C, nc);
  128.         }
  129.         if(opt==8)
  130.         {
  131.             diferenta(A, na, B, nb, C, nc);
  132.             scrie(C, nc);
  133.         }
  134.         if(opt==9)
  135.         {
  136.             diferenta(B, nb, A, na, C, nc);
  137.             scrie(C, nc);
  138.         }
  139.     }
  140.     while(opt!=0);
  141.     return 0;
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement