Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <set>
- #include <vector>
- #include <algorithm>
- #include <utility>
- std::set<int> suma_zbiorow(std::set<int> setA, std::set<int> setB)
- {
- std::set<int> setC;
- for( int x : setA )
- setC.insert(x);
- for( int x : setB )
- setC.insert(x);
- return setC;
- }
- std::multiset<int> suma_zbiorow(std::multiset<int> setA, std::multiset<int> setB)
- {
- std::set<int> setC;
- for( int x : setA )
- setC.insert(x);
- for( int x : setB )
- setC.insert(x);
- std::multiset<int> multisetWynikowy;
- for(auto x : setC)
- multisetWynikowy.insert(x);
- return multisetWynikowy;
- }
- std::multiset<int> suma_multizbiorow(std::multiset<int> multisetA, std::multiset<int> multisetB)
- {
- std::multiset<int> multisetC;
- for( int x : multisetA )
- multisetC.insert(x);
- for( int x : multisetB )
- multisetC.insert(x);
- return multisetC;
- }
- std::multiset<int> obciecie_multizbioru(std::multiset<int> multisetE, int rozmiar)
- {
- std::multiset<int> multisetWynikowy;
- auto ptr = multisetE.begin();
- for(int i = 0; i < rozmiar; i++)
- {
- multisetWynikowy.insert( *ptr );
- ptr++;
- }
- return multisetWynikowy;
- }
- int suma_elementow_zbioru(std::multiset<int> multisetA)
- {
- int suma = 0;
- for(int x : multisetA)
- suma += x;
- return suma;
- }
- std::multiset<int> suma_alternatywna_multizbiorow(std::multiset<int> multisetE, std::multiset<int> multisetF, std::multiset<int> multisetG, int rozmiar)
- {
- std::multiset<int> multisetRoboczy;
- std::multiset<int> multisetWynikowy;
- if( suma_elementow_zbioru(multisetE) % 2 == 0 )
- multisetRoboczy = suma_multizbiorow( multisetE, multisetF );
- else
- multisetRoboczy = suma_multizbiorow( multisetE, multisetG );
- multisetWynikowy = obciecie_multizbioru( multisetRoboczy, rozmiar );
- return multisetWynikowy;
- }
- int main()
- {
- std::multiset<int> x = {10, 15, 55, 44, 88, 44, 5, 5, 10, 15};
- for(int i : x)
- std::cout << i << " ";
- std::cout << "\n\n";
- obciecie_multizbioru(x, 5);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement