Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- vector<double> g(vector<double> t1, vector<double> t2, vector<double> t3)
- {
- unsigned a = 0, b = 0, c = 0;
- bool ba = true, bb = true, bc = true; // oznacza czy dana tablica jeszcze posiada jakis wolny element, false - tablica została skończona
- unsigned rozmiar = t1.size() + t2.size() + t3.size();
- vector<double> wynik;
- wynik.resize(0);
- for(unsigned i = 0; i < rozmiar; ++i)
- {
- if(ba && bb && bc)
- {
- // najmniejszy element z pierwszej tablicy
- if(t1[a] <= t2[b] && t1[a] <= t3[c])
- {
- wynik.push_back(t1[a]);
- ++a;
- if(a == t1.size())
- ba = false;
- continue;
- }
- // najmniejszy element z drugiej tablicy
- if(t2[b] <= t1[a] && t2[b] <= t3[c])
- {
- wynik.push_back(t2[b]);
- ++b;
- if(b == t2.size())
- bb = false;
- continue;
- }
- // najmniejszy element z trzeciej tablicy
- wynik.push_back(t3[c]);
- ++c;
- if(c == t3.size())
- bc = false;
- continue;
- }
- if(ba && bb && !bc)
- {
- if(t1[a] <= t2[b])
- {
- wynik.push_back(t1[a]);
- ++a;
- if(a == t1.size())
- ba = false;
- continue;
- }
- else
- {
- wynik.push_back(t2[b]);
- ++b;
- if(b == t2.size())
- bb = false;
- continue;
- }
- }
- if(ba && bc && !bb)
- {
- if(t1[a] <= t3[c])
- {
- wynik.push_back(t1[a]);
- ++a;
- if(a == t1.size())
- ba = false;
- continue;
- }
- else
- {
- wynik.push_back(t3[c]);
- ++c;
- if(c == t3.size())
- bc = false;
- continue;
- }
- }
- if(bb && bc && !ba)
- {
- if(t2[b] <= t3[c])
- {
- wynik.push_back(t2[b]);
- ++b;
- if(b == t2.size())
- bb = false;
- continue;
- }
- else
- {
- wynik.push_back(t3[c]);
- ++c;
- if(c == t3.size())
- bc = false;
- continue;
- }
- }
- if(ba && !bb && !bc)
- for(unsigned i = a; i < t1.size(); ++i)
- wynik.push_back(t1[i]);
- if(bb && !ba && !bc)
- for(unsigned i = b; i < t2.size(); ++i)
- wynik.push_back(t2[i]);
- if(bc && !ba && !bb)
- for(unsigned i = c; i < t3.size(); ++i)
- wynik.push_back(t3[i]);
- }
- return wynik;
- }
- int main()
- {
- cout << "Hello world!" << endl;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement