Advertisement
MeehoweCK

Untitled

Aug 24th, 2019
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.17 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3.  
  4. using namespace std;
  5.  
  6. vector<double> g(vector<double> t1, vector<double> t2, vector<double> t3)
  7. {
  8.     unsigned a = 0, b = 0, c = 0;
  9.     bool ba = true, bb = true, bc = true;       // oznacza czy dana tablica jeszcze posiada jakis wolny element, false - tablica została skończona
  10.     unsigned rozmiar = t1.size() + t2.size() + t3.size();
  11.  
  12.     vector<double> wynik;
  13.     wynik.resize(0);
  14.  
  15.     for(unsigned i = 0; i < rozmiar; ++i)
  16.     {
  17.         if(ba && bb && bc)
  18.         {
  19.             // najmniejszy element z pierwszej tablicy
  20.             if(t1[a] <= t2[b] && t1[a] <= t3[c])
  21.             {
  22.                 wynik.push_back(t1[a]);
  23.                 ++a;
  24.                 if(a == t1.size())
  25.                     ba = false;
  26.                 continue;
  27.             }
  28.  
  29.             // najmniejszy element z drugiej tablicy
  30.             if(t2[b] <= t1[a] && t2[b] <= t3[c])
  31.             {
  32.                 wynik.push_back(t2[b]);
  33.                 ++b;
  34.                 if(b == t2.size())
  35.                     bb = false;
  36.                 continue;
  37.             }
  38.  
  39.             // najmniejszy element z trzeciej tablicy
  40.             wynik.push_back(t3[c]);
  41.             ++c;
  42.             if(c == t3.size())
  43.                 bc = false;
  44.             continue;
  45.         }
  46.  
  47.         if(ba && bb && !bc)
  48.         {
  49.             if(t1[a] <= t2[b])
  50.             {
  51.                 wynik.push_back(t1[a]);
  52.                 ++a;
  53.                 if(a == t1.size())
  54.                     ba = false;
  55.                 continue;
  56.             }
  57.             else
  58.             {
  59.                 wynik.push_back(t2[b]);
  60.                 ++b;
  61.                 if(b == t2.size())
  62.                     bb = false;
  63.                 continue;
  64.             }
  65.         }
  66.  
  67.         if(ba && bc && !bb)
  68.         {
  69.             if(t1[a] <= t3[c])
  70.             {
  71.                 wynik.push_back(t1[a]);
  72.                 ++a;
  73.                 if(a == t1.size())
  74.                     ba = false;
  75.                 continue;
  76.             }
  77.             else
  78.             {
  79.                 wynik.push_back(t3[c]);
  80.                 ++c;
  81.                 if(c == t3.size())
  82.                     bc = false;
  83.                 continue;
  84.             }
  85.         }
  86.  
  87.         if(bb && bc && !ba)
  88.         {
  89.             if(t2[b] <= t3[c])
  90.             {
  91.                 wynik.push_back(t2[b]);
  92.                 ++b;
  93.                 if(b == t2.size())
  94.                     bb = false;
  95.                 continue;
  96.             }
  97.             else
  98.             {
  99.                 wynik.push_back(t3[c]);
  100.                 ++c;
  101.                 if(c == t3.size())
  102.                     bc = false;
  103.                 continue;
  104.             }
  105.         }
  106.  
  107.         if(ba && !bb && !bc)
  108.             for(unsigned i = a; i < t1.size(); ++i)
  109.                 wynik.push_back(t1[i]);
  110.         if(bb && !ba && !bc)
  111.             for(unsigned i = b; i < t2.size(); ++i)
  112.                 wynik.push_back(t2[i]);
  113.         if(bc && !ba && !bb)
  114.             for(unsigned i = c; i < t3.size(); ++i)
  115.                 wynik.push_back(t3[i]);
  116.     }
  117.     return wynik;
  118. }
  119.  
  120. int main()
  121. {
  122.     cout << "Hello world!" << endl;
  123.     return 0;
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement