使用高级程序设计语言实现集合的交并差运算
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                使用高级程序设计语言实现集合的交并差运算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                內容:
利用高級語言實現集合交、差、并操作
實驗數據文件:
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 推
- 下一篇: 『Python』python 弹窗、提示
