Informatică, întrebare adresată de mas112340, 8 ani în urmă

Scrieţi un program care citeşte de la tastatură elementele
mulţimilor A şi B şi afişează pe ecran:
a) intersecţia mulţimilor A şi B;
b) reuniunea mulţimilor A şi B;
c) diferenţa mulţimilor A şi B;
Mulţimile A şi B sunt formate din literele mari ale alfabetului latin

Răspunsuri la întrebare

Răspuns de andrewbach1999
1

#include <bits/stdc++.h>

using namespace std;

vector<string> in()

{

string line, num;

getline(cin, line);

stringstream ss(line);

vector<string> v;

while (ss >> num) {

v.push_back(num);

}

return v;

}

void intersection(vector<string> v1, vector <string> v2)

{

vector<string> v_intersection;

set_intersection(v1.begin(),v1.end(), v2.begin(), v2.end(),back_inserter(v_intersection));

for (auto i : v_intersection) cout << i << " ";

cout << endl;

}

void reunion(vector<string> v1, vector <string> v2)

{

vector<string> v_union;

set_union(v1.begin(), v1.end(), v2.begin(), v2.end(), back_inserter(v_union));

for (auto i : v_union) cout << i << " ";

cout << endl;

}

void difference(vector<string> v1, vector <string> v2)

{

vector<string> v_difference;

set_difference(v1.begin(), v1.end(), v2.begin() ,v2.end(), back_inserter(v_difference));

for (auto i : v_difference) cout << i << " ";

cout << endl;

}

int main()

{

vector<string> v1, v2;

v1 = in();

v2 = in();

sort(v1.begin(), v1.end());

sort(v2.begin(), v2.end());

intersection(v1, v2);

reunion(v1, v2);

difference(v1, v2);

return 0;

}


123hhh: multumesc dar poti sa fci asta in pascal
Alte întrebări interesante