int main() { char **A; char **B; int n = 5; char **R, **S, **T; A = relace_make(n); A[0][1] = A[1][2] = A[2][3] = 1; B = relace_copy(A, n); printf("relace A je: "); relace_print(A, n); //relace_print(B, n); kontrola kopie printf("reflexivni uzaver relace A je: "); R = reflexivni(A, n); relace_print(R, n); printf("symetricky uzaver relace B je: "); S = symetricky(A, n); relace_print(S, n); printf("tranzitivni uzaver relace C je: "); T = tranzitivni(A, n); relace_print(T, n); return 0; }
int main(int argc, char **argv) { // Relace R definovaná pomocí matice /* char r0[] = {0, 0, 1, 0, 0}; char r1[] = {0, 0, 1, 0, 0}; char r2[] = {1, 0, 1, 0, 1}; char r3[] = {0, 0, 0, 0, 0}; char r4[] = {0, 0, 0, 0, 0}; */ char r0[] = {0, 0, 1, 0, 0}; char r1[] = {0, 0, 0, 0, 0}; char r2[] = {0, 0, 0, 3, 0}; char r3[] = {0, 0, 0, 0, 1}; char r4[] = {0, 0, 0, 0, 0}; char *R[] = {r0, r1, r2, r3, r4}; // Velikost matice je počítána podle počtu prvků v prvním řádku int n = sizeof(r0)/sizeof(char); // Zjištění uzávěrů char **Ur = reflexivni(R, n); char **Us = symetricky(R, n); char **Ut = tranzitivni(R, n); // Vypsání relace R printf("Relace R je: "); vypisRelaci(R, n); // Vypsání reflexivního uzávěru printf("Reflexivní uzávěr relace R je: "); vypisRelaci(Ur, n); // Vypsání symetrického uzávěru printf("Symetrický uzávěr relace R je: "); vypisRelaci(Us, n); // Vypsání tranzitivního uzávěru printf("Tranzitivní uzávěr relace R je: "); vypisRelaci(Ut, n); return 0; }