Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<set>
- #include<map>
- using namespace std;
- int f(int x) {
- return 4 * x - 7;
- }
- int g(int x) {
- return x * x;
- }
- bool sureqcia(map <int, int> m, set<int> codom) {
- set<int> s;
- for (auto im = m.begin(); im != m.end(); im++)
- s.insert(im->second); //anasaxebis simravle
- for (auto i = codom.begin(); i != codom.end(); i++) {
- if (s.find(*i)==s.end()) //codomeinshi edzebs elements, romelic ar aris
- anasaxebis simravlesi
- { return false; break; }
- }
- return true;
- }
- int main() {
- set<int> dom{ -1,-2,1,2};
- set<int> codomf{ -11,-15,-3,1};
- set<int> codomg{ 1,4,-4 };
- map<int, int> mf, mg;
- cout << "dom={";
- for (auto i = dom.begin(); i != dom.end(); i++) {
- cout << *i << ",";
- }
- cout << "}\n" << endl;
- cout << "codomf={";
- for (auto i = codomf.begin(); i != codomf.end(); i++) {
- cout << *i << ",";
- }
- cout << "}\n" << endl;
- cout << "codomg={";
- for (auto i = codomg.begin(); i != codomg.end(); i++) {
- cout << *i << ",";
- }
- cout << "}\n" << endl;
- for (auto i = dom.begin(); i != dom.end(); i++) {
- mf[*i] = f(*i); //vqmnit wyvilebis simravles, (i, f(i)), sadac i dom-is
- elementia
- if (mf.find(*i) == mf.end())
- {cout << " asaxva ar aris funqcia\n"; return 0;}
- }
- cout << "mf: ";
- for (auto i = mf.begin(); i != mf.end(); i++)
- cout << "(" << i->first << ";" << i->second << "), ";
- cout << endl;
- if (sureqcia(mf, codomf)) cout << " f sureqciaa \n";
- else cout << "f ar aris sureqcia \n";
- for (auto i = dom.begin(); i != dom.end(); i++) {
- mg[*i] = g(*i); //vqmnit wyvilebis simravles, (i, g(i)), sadac i dom-is
- elementia
- }
- cout << endl;
- cout << "mg: ";
- for (auto i = mg.begin(); i != mg.end(); i++)
- cout << "(" << i->first << ";" << i->second << "), ";
- cout << endl;
- if (sureqcia(mg, codomg)) cout << "g sureqciaa \n";
- else cout << "g ar aris sureqcia \n";
- }
Advertisement
Add Comment
Please, Sign In to add comment