離散數學中集合上二元關係的判定及實現

2021-09-30 01:35:59 字數 2085 閱讀 4816

輸入乙個集合的二元關係,判定其是否滿足自反性、反自反性、對稱性、反對稱性、傳遞性。並求出自反、對稱和傳遞閉包。

大二上學期時的寫的**,c++語言實現。

#include#includeusing namespace std;

class relation//建構函式

int putinr();//輸入關係r

void convent();//轉換為矩陣

void give();//用r初始化r1,r2

bool reflex();//判斷自反性

bool unreflex();//判斷反自反性

bool symme();//判斷對稱性

bool ansymme();//判斷反對稱性

bool delivery();//判斷傳遞性

void decide();//性質判定

void reflexb();//求自反閉包

void symmeb();//求對稱閉包

void deliveryb();//求傳遞閉包

};//輸入關係r -- 以『-1』結尾

int relation::putinr()

return i;

}//轉換為矩陣

void relation::convent()

}//判斷自反性

bool relation::reflex()

cout << "具有自反性" << endl;

return true;

}//判斷反自反性

bool relation::unreflex()

cout << "具有反自反性" << endl;

return true;

}//判斷對稱性

bool relation::symme()

} cout << "具有對稱性" << endl;

return true;

}//判斷反對稱性

bool relation::ansymme()

} cout << "具有反對稱性" << endl;

return true;

}//判斷傳遞性

bool relation::delivery()

, l[10] = ;

for (int i = n; i <= m; i++)//以對角線上每個元素迴圈

//找出第i行的非0元素,列下標記錄在a陣列中

if (m[j][i] == 1 && i != j) //找出第i列的非0元素,行下標記錄在b陣列中

} for (int c = k[0]; c <= k[--e]; c++)//行上的非0元素

}} cout << "具有傳遞性" << endl;

return true;

}//性質判定

void relation::decide()

//用r初始化r1,r2

void relation::give()

//求自反閉包

void relation::reflexb()

} cout << "自反閉包是:" << endl;

for (int j = 0; j < g ; j++)

cout << endl;

}//求對稱閉包

void relation::symmeb()

if (m[i][j] != 1 && m[j][i] == 1)//如果不關於對角線對稱

}} cout << "對稱閉包是:" << endl;

for (int j = 0; j < g ; j++)

cout << endl;

}//求傳遞閉包

void relation::deliveryb()

}} }

for (int i = n; i <= m; i++)//將矩陣反轉回二元陣列

}} cout << "傳遞閉包是:" << endl;

for (int j = 0; j < g-1; j++)

cout << endl;

}int main()

離散數學 二元關係

關係的逆運算 關係的性質 等價關係 擬序關係 偏序關係 最大元 最小元 極大元 極小元 上下界 上下確界 全序關係 良序關係 a與b的笛卡爾積的任意子集都是從a到b的乙個關係 集合表示法 關係圖表示法 關係矩陣表示法 設r是a到b的關係,則b到a的關係r的逆表示把r的前域和後域互換。r的逆關係的布林...

大二(上)離散數學 集合的二元關係

include include using namespace std const int max 100 int num int rnum int r max max int a max max void warshall warshall演算法 for int i 1 i num i 對所有j如...

離散數學判斷集合的二元關係(相容 偏序 等價)

第一次在csdn上寫文章,直接上 了,這個題目也不難,各個函式都非常的容易理解。略顯智障的函式名 include include int relation matrix 15 15 tmp 15 15 int r size,r num typedef int status status zifan ...