Advertisement
Guest User

govnokod

a guest
Apr 18th, 2015
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.67 KB | None | 0 0
  1. Файл "Chisla.h"
  2. ___________________
  3. #pragma once
  4. #include <iostream>
  5. using namespace std;
  6.  
  7. class Chisla
  8. {
  9. private:
  10.     int kolvo;
  11.     int *mas;
  12. public:
  13.     Chisla(int num)                                   //конструктор (создаёт массив из num эементов и заполняет его нулями)
  14.     {
  15.         kolvo = num;
  16.         mas = new int[kolvo];
  17.         for(int n = 0; n<kolvo; n++)
  18.         {
  19.             mas[n] = 0;
  20.         }
  21.     }        
  22.     void setMas()                                                              //сеттер (устанавливает значения элементов массива)
  23.     {
  24.         if(kolvo == 0)
  25.         {
  26.             cout<<"Vvedite kolichestvo chisel v vashem mnozhestve:   ";
  27.             cin>>kolvo;
  28.             cout<<endl;
  29.         }
  30.         mas = new int[kolvo];
  31.         cout<<"Vvedite mnozhestvo tselih chisel: "<<endl;
  32.         for(int n = 0; n<kolvo; n++)
  33.         {
  34.             cout<<endl<<"Vvedite chislo nomer "<<n+1<<" : "<<'\t';
  35.             cin>>mas[n];
  36.         }
  37.        
  38.     }
  39.     void setChislo(int num, int chislo)                        //сеттер (устанавливает элементу множества номер num значение chislo)
  40.     {
  41.         mas[num-1] = chislo;
  42.     }
  43.     int getChislo(int num)                                     //геттер (возвращает элемент множества номер num)
  44.     {
  45.         return mas[num-1];
  46.     }
  47.     void intersection(Chisla& c1, Chisla& c2)
  48.     {
  49.         int *per = new int[];
  50.         int n = 0;
  51.         for(int i = 0; i<c1.kolvo; i++)
  52.         {
  53.             for(int j = 0; j<c2.kolvo; j++)
  54.             {
  55.                 if(c1.mas[i] == c2.mas[j])
  56.                 {
  57.                     per[n] = c1.mas[i];
  58.                     n++;
  59.                 }
  60.             }
  61.         }
  62.         cout<<endl<<"Mnozhestvo peresecheniy: "<<'\t'<<"(";
  63.         for(int k = 0; k<n; k++)
  64.         {
  65.             cout<<per[k]<<';';
  66.         }
  67.         cout<<")";
  68.         delete [] per;
  69.     }
  70.     void combination(Chisla& c1, Chisla& c2)
  71.     {
  72.         int n1 = c1.kolvo;
  73.         int n2 = c2.kolvo;
  74.         int plus = 0;
  75.         int *num = new int[];
  76.         for(int i = 0; i<n1; i++)
  77.         {
  78.             num[i] = c1.mas[i];
  79.         }
  80.         for(int i = 0; i<n1; i++)
  81.         {
  82.             for(int j = 0; j<n2; j++)
  83.             {
  84.                 if(num[i] == c2.mas[j])
  85.                 {
  86.                     continue;
  87.                 }
  88.                 num[n1+plus] = c2.mas[j];
  89.                 plus++;
  90.             }
  91.         }
  92.         n1 = n1+plus;
  93.         cout<<endl<<"Mnozhestvo ob'edineniy: "<<'\t'<<"(";
  94.         for(int i = 0; i<n1; i++)
  95.         {
  96.             cout<<num[i]<<';';
  97.         }
  98.         cout<<")";
  99.         delete [] num;
  100.     }
  101.  
  102.     ~Chisla(void)
  103.     {
  104.     }
  105. };
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113. Исходный код:
  114. _________________
  115. #include <iostream>
  116. #include <Conio.h>
  117. #include "Chisla.h"
  118. using namespace std;
  119.  
  120.  
  121. int main()
  122. {
  123.     Chisla N1 (5);
  124.     N1.setMas();
  125.     Chisla N2(8);
  126.     N2.setMas();           //создали 2 массива, ввели 2 множества
  127.  
  128.     /*N1.intersection(N1, N2);*/
  129.     N1.combination(N1, N2);
  130.  
  131.  
  132.     _getch();
  133.     return 0;
  134. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement