当前位置:
首页 >
使用高级程序设计语言实现集合的交并差运算
发布时间:2023/12/15
45
豆豆
生活随笔
收集整理的这篇文章主要介绍了
使用高级程序设计语言实现集合的交并差运算
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
内容:
利用高级语言实现集合交、差、并操作
实验数据文件:
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.交运算:
#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 并运算:
#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差运算
#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]);elseflag2 = 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同名“风骨散人”
如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文!
感谢大家的阅读!😘你的点赞、收藏、关注是对我最大的鼓励!
总结
以上是生活随笔为你收集整理的使用高级程序设计语言实现集合的交并差运算的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 特斯拉 FSD Beta V11.3 推
- 下一篇: 『数学』你确定你学会了勾股弦定理!真的吗