『开发』使用高级程序设计语言实现集合的交并差运算 内容: 利用高级语言实现集合交、差、并操作
实验数据文件: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 R: a1 b1 c1 a1 b2 c2 a2 b2 c1 S: a1 b2 c2 a1 b3 c2 a2 b2 c1 实际输入数据为:3 3 3 a1 b1 c1 a1 b2 c2 a2 b2 c1 a1 b2 c2 a1 b3 c2 a2 b2 c1
其中 R 的行数为 rank1=3,S 的行数为 rank3=3,RS 的列数为 col=3。
代码实现: 4.1.交运算: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 #include <bits/stdc++.h> using namespace std; vector<string> R[200 ]; vector<string> S[200 ]; vector<string> ans[200 ];int Jiao (int rank1, int rank2, int col) { int tot = 0 ; for (int i = 0 ; i < rank1; i++) { for (int j = 0 ; j < rank2; j++) { for (int k = 0 ; k < col; k++) { if (R[i][k] == S[j][k]) ans[tot].push_back(R[i][k]); else { ans[tot].clear(); tot--; break ; } } tot++; } } return tot; }int main () { int rank1, rank2, col; cin >> rank1 >> rank2 >> col; for (int i = 0 ; i < rank1; i++) { for (int j = 0 ; j < col; j++) { string c; cin >> c; R[i].push_back(c); } } for (int i = 0 ; i < rank2; i++) { for (int j = 0 ; j < col; j++) { string c; cin >> c; S[i].push_back(c); } } int rank3 = Jiao(rank1, rank2, col); for (int i = 0 ; i < rank3; i++) { for (auto p : ans[i]) { cout << p << " " ; } cout << endl; } }
运行结果:
4.2 并运算: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 #include <bits/stdc++.h> using namespace std; vector<string> R[200 ]; vector<string> S[200 ]; vector<string> ans[200 ];int bing (int rank1, int rank2, int col) { int tot = 0 ; int flag = 0 ; for (int j = 0 ; j < rank2; j++) { for (int k = 0 ; k < col; k++) { ans[tot].push_back(S[j][k]); } tot++; } for (int i = 0 ; i < rank1; i++) { int flag = 0 ; for (int j = 0 ; j < rank2; j++) { int flag2=1 ; for (int k = 0 ; k < col; k++) { if (R[i][k] != S[j][k]) { flag2 = 0 ; break ; } } if (flag2==1 ) { flag=1 ; break ; } } if (flag) continue ; else { for (int k = 0 ; k < R[i].size(); k++) { ans[tot].push_back(R[i][k]); } tot++; } } return tot; }int main () { int rank1, rank2,rank3, col; cin >> rank1 >> rank2 >> col; for (int i = 0 ; i < rank1; i++) { for (int j = 0 ; j < col; j++) { string c; cin >> c; R[i].push_back(c); } } for (int i = 0 ; i < rank2; i++) { for (int j = 0 ; j < col; j++) { string c; cin >> c; S[i].push_back(c); } } cout << "-------Bing------------\n" ; rank3 = bing(rank1, rank2, col); for (int i = 0 ; i < rank3; i++) { for (auto p : ans[i]) { cout << p << " " ; } cout << endl; } }
运行结果
4.3 差运算 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 #include <bits/stdc++.h> using namespace std; vector<string> R[200 ]; vector<string> S[200 ]; vector<string> ans[200 ];int cha (int rank1, int rank2,int col) { int tot = 0 ; int flag = 0 ; for (int i = 0 ; i < rank1; i++) { int flag = 0 ; for (int j = 0 ; j < rank2; j++) { int flag2=0 ; for (int k = 0 ; k <col; k++) { if (R[i][k] == S[j][k]) ; else flag2 = 1 ; } if (flag2==0 ) { flag=1 ; break ; } } if (flag){ for (int k = 0 ; k <col; k++) { ans[tot].push_back(R[i][k]); } tot++; } } return tot; }int main () { int rank1, rank2, rank3, col; cin >> rank1 >> rank2 >> col; for (int i = 0 ; i < rank1; i++) { for (int j = 0 ; j < col; j++) { string c; cin >> c; R[i].push_back(c); } } for (int i = 0 ; i < rank2; i++) { for (int j = 0 ; j < col; j++) { string c; cin >> c; S[i].push_back(c); } } cout << "-------cha------------\n" ; rank3 = cha(rank1, rank2,col); for (int i = 0 ; i < rank3; i++) { for (auto p : ans[i]) { cout << p << " " ; } cout << endl; } }
运行结果
写在最后: Name:风骨散人,目前是一名双非在校大学生,预计考研,热爱编程,热爱技术,喜欢分享,知识无界,希望我的分享可以帮到你!名字的含义:我想有一天我能有能力随心所欲不逾矩,不总是向生活低头,有能力让家人拥有富足的生活而不是为了生计而到处奔波。“世人慌慌张张,不过是图碎银几两。偏偏这碎银几两,能解世间惆怅,可让父母安康,可护幼子成长 …”文章主要内容: Python,C++,C 语言,JAVA,C#等语言的教程 ACM 题解、模板、算法等,主要是数据结构,数学和图论 设计模式,数据库,计算机网络,操作系统,计算机组成原理 Python 爬虫、深度学习、机器学习 计算机系408 考研的所有专业课内容目前还在更新中,先关注不迷路。微信公众号,cnblogs(博客园),CSDN 同名“风骨散人”
如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文! 感谢大家的阅读!😘 你的点赞、收藏、关注是对我最大的鼓励!