(1)實驗目的
通過該實驗,讓學生複習鞏固c語言中的迴圈結構、迴圈控制條件、分支結構和陣列/鍊錶、函式的呼叫等有關內容,體會到用陣列儲存集合時,需要記錄集合元素的個數,否則輸出結果會出現資料越界現象。
(2)實驗內容
通過鍵盤,分別輸入兩個資料元素型別為正整數的集合a和b,以負數輸入為結束條件,輸出兩個集合的交、並、差。
(3)實驗要求
從程式完善性上考慮,集合元素輸入時,要有檢查元素重複的功能,每個集合中不允許有重複的元素。集合可以用陣列也可以用鍊錶儲存。
實現交、並、差運算時,分別把**寫成函式的形式,即實現交運算的函式,實現並運算的函式,實現差運算的函式,在主函式中分別呼叫三個函式。
使用選單形式對應各個操作,應允許使用者反覆檢視結果,想結束程式時,輸入負數結束,使其編成乙個完整的小軟體。選單參考示例如下:
1—輸入集合a和b
2—求集合a交b
3—求集合a並b
4—求集合a-b
退出,輸入乙個負數!
(4)驗收/測試用例
輸入: a= b=
要注意輸入的過程中,每輸入乙個元素都要檢查輸入的這個元素是否和前面的元素重複,如果重複,要求使用者重新輸入當前元素。
驗收測試時要測試這種重複的情況。
輸出 a交b= a並b= a-b=
#include
#include
#include
using
namespace std;
intshowmain()
;void
input
(vector<
int>
&, vector<
int>&)
;void
input
(vector<
int>&)
;bool
checkduplicated
(const vector<
int>&,
int)
;void
setand
(const vector<
int>
&a,const vector<
int>
&b);
void
setintersaction
(const vector<
int>&,
const vector<
int>&)
;void
setdifference
(const vector<
int>&,
const vector<
int>&)
;int
main()
}}intshowmain()
void
input
(vector<
int>
&v) v.
push_back
(n);
} cin.
clear()
; cin.
sync()
;}void
input
(vector<
int>
&a, vector<
int>
&b)bool
checkduplicated
(const vector<
int>
&v,int n)
void
setand
(const vector<
int>
&a,const vector<
int>
&b)else
setand.
push_back
(b[j++])
;}while
(i != a.
size()
) setand.
push_back
(a[i++])
;while
(j != b.
size()
) setand.
push_back
(b[j++])
;for
(auto
&&i : setand)
cout << i <<
" ";
cout << endl;
}void
setintersaction
(const vector<
int>
&a,const vector<
int>
&b)}
}for
(auto
&&i : seti)
cout << i <<
" ";
cout << endl;
}void
setdifference
(const vector<
int>
&a,const vector<
int>
&b)
資料結構實驗一
資料結構 實驗一 vc程式設計工具的靈活使用 一 實驗目的 複習鞏固vc程式設計環境的使用,以及c 模板設計。1.回顧並掌握vc單檔案結構程式設計過程。2.回顧並掌握vc多檔案工程設計過程 3.掌握vc程式除錯過程。4.回顧c 模板和模板的程式設計。1.設計乙個單檔案結構程式完成從鍵盤輸入兩個數,輸...
《資料結構》實驗一
資料結構 實驗一 vc程式設計工具的靈活使用 一 實驗目的 複習鞏固vc程式設計環境的使用,以及c 模板設計。1.回顧並掌握vc單檔案結構程式設計過程。2.回顧並掌握vc多檔案工程設計過程 3.掌握vc程式除錯過程。4.回顧c 模板和模板的程式設計。二 實驗時間 第二週第二次課。2個學時。三 實驗內...
資料結構實驗一
資料結構 實驗一 vc程式設計工具的靈活使用 一 實驗目的 複習鞏固vc程式設計環境的使用,以及c 模板設計。1.回顧並掌握vc單檔案結構程式設計過程。2.回顧並掌握vc多檔案工程設計過程 3.掌握vc程式除錯過程。4.回顧c 模板和模板的程式設計。1.設計乙個單檔案結構程式完成從鍵盤輸入兩個數,輸...