偏序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定分解_第1頁(yè)
偏序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定分解_第2頁(yè)
偏序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定分解_第3頁(yè)
偏序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定分解_第4頁(yè)
偏序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定分解_第5頁(yè)
已閱讀5頁(yè),還剩20頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、力普實(shí)驗(yàn)報(bào)告(/學(xué)年第一學(xué)期)課程名稱離散數(shù)學(xué)實(shí)驗(yàn)名稱偏序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定實(shí)驗(yàn)時(shí)間年 月 日指導(dǎo)單位指導(dǎo)教師學(xué)生姓名班級(jí)學(xué)號(hào)學(xué)院(系)專業(yè)實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱偏序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定指導(dǎo)教師實(shí)驗(yàn)類(lèi)型上機(jī)實(shí)驗(yàn)實(shí)驗(yàn)學(xué)時(shí)4實(shí)驗(yàn)時(shí)間一、實(shí)驗(yàn)?zāi)康暮鸵竽苷_求出任意偏序集的蓋住關(guān)系的集合,并且能正確判定任意 偏序集是否為格,如果是格,判定其是否為有補(bǔ)格。二、實(shí)驗(yàn)環(huán)境(實(shí)驗(yàn)設(shè)備)硬件:PC機(jī)。軟件:Code: :Blocks (C+ )三、實(shí)驗(yàn)原理及內(nèi)容內(nèi)容一求蓋住關(guān)系:首先輸入偏序集所對(duì)應(yīng)的全集中的元素個(gè)數(shù)以及各個(gè)元素,屏幕輸出該全集以便使用者觀看,然后輸入偏序集中的

2、各個(gè)元素,程序調(diào)用求取偏序集的蓋住關(guān)系的函數(shù),在屏幕輸出該蓋住關(guān)系1數(shù)和判斷是查為有1,若繼續(xù)使用怎清判斷是查遇杳為有補(bǔ)施期用判斷最查為假的區(qū) 補(bǔ)格的函數(shù)分別判斷并輸出,結(jié)束之后詢問(wèn)是否繼續(xù)使月展再循此二次_。_原理J建立二個(gè)元素類(lèi)用來(lái)保在元素2一定義求灌住關(guān)系的函數(shù)和判斷是查 為播和差查為直補(bǔ)格的函數(shù)在主函數(shù)史建立二仝鈕數(shù)組保存全集2一建立 二企對(duì)象數(shù)組保查佩匠集遇用函數(shù)并揄出£程序:#include <iostream>#include <windows.h>using namespace std; class element(private:int le

3、ft;int right;public:element();element(int a,int b);element。;int Getleft();int Getright(););element: :element()left=O;right=O;)element:element(int a,int b)(left=a;right=b;)int element:Getleft()(return left;)int element:Getright()(return right;)bool Judge_l(int a,int b,element p,int n)判斷元素是否在偏序集中 (for

4、(int i=0;i<n;i+)(if(pi.Getleft()=a&&pi.Getright()=b)return true;)else(continue;)return false;)void Judge_2(element p,int m,int a,int n,element q,int &k)獲得蓋住關(guān)系(int i,j;for(i=0;i<m;i+)(if(pi.Getleft()=pi.Getright()(continue;)for(j=0;j<n;j+)(if(Judge_l(pi.Getleft(),a|j,p,m)&&am

5、p;Judge_l(aj,pi.Getright(),p,m)&&aj !=pi.Getleft()&&aj !=pi.Getright()(break;)if(j=n)(qk+=pi;)void Print(element a,int n)輸出集合(cout«"";for(int i=0;i<n;i+)(if(i!=n-l)(cout«'V')cout«M"«endl;)bool Judge_3(int a,int m,int b,int n)判斷兩個(gè)數(shù)組中是否存在相同

6、的元素,用于判斷是否為格的函數(shù)(for(int i=0;i<m;i+)(for(int j=O;j<n;j+)(if(ai=aU)(return true;)return false;)bool Judge_ge(int a,int m,element p,int n)判斷偏序集是否為格for(int i=O;i<m;i+)for(int j=O;j<m;j+)int r,s;for(r=0;r<m;r+)if(Judge_l(ai,ar,p,n)&&Judge_l(aj,aH,p,n)break;for(s=0;s<m;s+)if(Judg

7、e_l(as,ai,p,n)&&Judge_l(as,aj,p,n)break;if(r=mlls=m)(return false;)return true;)bool Judge_quanxiajie(int a,int m,element p,int n,int &down)判斷格是否有全下界(int i,j;for(i=0;i<m;i+)(for(j=0;j<m;j+)(if(Judge_l(ai,aj,p,n)continue;)else(break;)if(j=m)(down=ai;return true;)return false;)bool J

8、udge_quanshanjie(int a,int m,element p,int n,int &up)判斷格是否有全上界(int i,j;for(i=0;i<m;i+)(for(j=0;j<m;j+)(if(Judge_l(aj,ai,p,n)continue;)else(break;)if(j=m)(up=ai;return true;)return false;)bool Judge_youjiege(int a,int m,element p,int n,int &up,int &down)判斷格是否為有界格(if(Judge_quanxiajie

9、(a,m,p,n,down)&&Judge_quanshangjie(a,m,p,n,up) return true;)return false;)void Up_and_down(int x,int y,int a,int m,element p,int n,int &ss,int &xx) 求有界格中x和y組成的集合的最小上界和最大下屆,用于判斷有界格的 函數(shù)(int k=O,j=O;int *s=new intk;儲(chǔ)存上界的數(shù)組int *r=new intfj;儲(chǔ)存下界的數(shù)組for(int i=0;i<m;i+)(if(Judge_l(x,ai,p,

10、n)&&Judge_l(y,ai,p,n)(sk+=ai;)if(Judge_l(ai,x,p,n)&&Judge_l(ai,y,p,n)(rj+=ai;)int h;for(int i=O;i<k;i+)(for(h=0;h<k;h+)(if(Judge_ 1 (s i,sh ,p,n)(continue;)else(break;)if(h=k)(ss=si;)for(int i=0;i<j;i+)for(h=0;h<j;h+)(if (J udge_ 1 (r h ,r i ,p,n)(continue;)else(break;)if

11、(h=j)(xx=ri;)bool Judge_youbuge(int a,int m,element p,int n)(int up,down,ss,xx;/up 為全上界,down 為 全下界if(Judge_ge (a,m,p,n)&&Judge_youjiege(a,m,p,n,up,down)in";for(int i=O;i<m;i+)(for(j=0;j<m;j+)if(i=j)(continue;)else(Up_and_down(ai,aj,a,m,p,n,ss,xx);if(ss=up&&xx=down)(break;)

12、if(j=m)(return false;)return true;)else(return false;)int main()(int flag=l;while(flag=l)(system(Hclsn);cout<<”歡迎使用! M«endl«endl;int number 1;cout<<”請(qǐng)輸入全集中元素的個(gè)數(shù):cin»number 1;int *all=new intnumber;cout<<”請(qǐng)輸入全集中的各個(gè)元素: for(int i=O;i<number_l ;i+)cin»alli;)cout&

13、lt;<"你輸入的全集為:"«nu;for(int i=O;i<number_l ;i+)(cout«alli;if(i!=number_l-l)(cout«";')cout«""«endl;int number 2;coutcvendkc”請(qǐng)輸入偏序集中元素的個(gè)數(shù):cin»number 2;element *pianxu=new elementnumber_2;cout<<”請(qǐng)輸入偏序集中的每個(gè)元素:,r«endl«endl; fo

14、r(int i=0;i<number_2;i+)(int a,b;cin»a»b;pianxui=element(a,b);)cout«endl«"你輸入的偏序集為:";Print(pianxu,number_2);int number 3=0;element *cov=new elementnumber_3;Judge_2(pianxu,number_2,all,number_ l,cov,number_3);cout«endl<<"蓋住關(guān)系為:”;Print(cov,number_3);if(

15、!Judge_ge(all,nuinber_l,pianxu,number_2)(cout<<endk<"此偏序集不是格! "vvendl;)elseif(Judge_youbuge(all,number_hpianxu,number_2)(cout«endl<v”此偏序集是格,且為有補(bǔ)格! "vvendl;)else(coutv<endl«,3ls偏序集是格,但是不是有補(bǔ)格! n«endl;)coutv<endl<<”是否繼續(xù)使用?(繼續(xù)使用請(qǐng)輸入1,否則輸入0): cin»

16、flag;return 0;流程圖:2舉例使用:1、偏序集不是格的例子/D:codeblocks文件,離散實(shí)/三、偏序集中羞住關(guān)系的求取和格論中有補(bǔ)格的判定.e- X請(qǐng)輸入全集中元素的個(gè)數(shù):3 請(qǐng)輸入全集中的各個(gè)元素:1 2 3 你輸入的全集為:1,2,3請(qǐng)輸入偏序集中元素的個(gè)數(shù):可D:edeblocks文件滴歆實(shí)驗(yàn)三褊序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定.e一育輸入全集中元素的個(gè)數(shù):3育輸入全集中的客個(gè)元表:1 2 3爾輸入的全集為:1,2,3元素的個(gè)數(shù):5 的每個(gè)元素:12 3 3 3爾輸入的偏序集為:<2, 2>, <3, 3>, <1, 3>,

17、<2, 3>?(繼續(xù)使用請(qǐng)輸入L否則輸入0:22、偏序集是格但不是有補(bǔ)格的例子10 D:edeblocks文件函散實(shí)驗(yàn)三偏序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定.e一 J 數(shù)素,3 個(gè)元,2 物個(gè)U 素備: 元的為 中中集 集集全 全全的 入入人 輸輸輸 青青爾2請(qǐng)輸入偏序集中元素的個(gè)數(shù):Q D:edeblocks文件函散實(shí)臉三'偏序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定.e一請(qǐng)輸入全集中元素的個(gè)數(shù):3請(qǐng)輸入全集中的各個(gè)元素:1 2 3 你輸入的全集為:1,2,3請(qǐng)輸入唐瑞入元素的仝數(shù):6 的每個(gè)元素:123121123233你輸入的偏序集為:<1,1), <

18、2, 2>, <3, 3>, <1, 2>, <2, 3>, <1, 3>蓋住關(guān)系為:<1,2, 2, 3此偏序集是格,但是不是有補(bǔ)格!是否繼續(xù)使用?(繼續(xù)使用請(qǐng)輸入L否則輸入0:210 D:edeblocks文件函散實(shí)驗(yàn)三偏序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定.e一 , 數(shù)素,3 個(gè)元,2 物個(gè)U 素備: 元的為 中中集 集集全 全全的 入入人 輸輸輸 青青爾41 26)請(qǐng)輸入偏序集中元素的個(gè)數(shù):J D:ccdeblocks文件箍散實(shí)驗(yàn)三褊序集中蓋住關(guān)系的求取和格論中有補(bǔ)格的判定.e- X你輸入的全集為:”,2,3,6)請(qǐng)輸入偏序集中元素的個(gè)數(shù):9 請(qǐng)輸入偏序集中的每個(gè)元素:123611123123623666你輸入的偏序集為:<1,1>, <2, 2>, <3, 3>, <6, 6>, &l

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論