fork download
  1. #include <stdio.h>
  2.  
  3. #define U_SIZE 11
  4.  
  5. int isSubset(int A[], int B[]) {
  6. for (int i = 1; i <= 10; i++)
  7. if (A[i] && !B[i]) return 0;
  8. return 1;
  9. }
  10.  
  11. void intersect(int A[], int B[], int R[]) {
  12. for (int i = 1; i <= 10; i++)
  13. R[i] = A[i] && B[i];
  14. }
  15.  
  16. void uni(int A[], int B[], int R[]) {
  17. for (int i = 1; i <= 10; i++)
  18. R[i] = A[i] || B[i];
  19. }
  20.  
  21. void diff(int A[], int B[], int R[]) {
  22. for (int i = 1; i <= 10; i++)
  23. R[i] = A[i] && !B[i];
  24. }
  25.  
  26. void symdiff(int A[], int B[], int R[]) {
  27. for (int i = 1; i <= 10; i++)
  28. R[i] = (A[i] != B[i]);
  29. }
  30.  
  31. int equal(int A[], int B[]) {
  32. for (int i = 1; i <= 10; i++)
  33. if (A[i] != B[i]) return 0;
  34. return 1;
  35. }
  36.  
  37. int main() {
  38.  
  39. int A[U_SIZE] = {0};
  40. int empty[U_SIZE] = {0};
  41.  
  42. // A = {1,2,3,5,6}
  43. int a_vals[] = {1,2,3,5,6};
  44. for (int i = 0; i < 5; i++) A[a_vals[i]] = 1;
  45.  
  46. int R1[U_SIZE], R2[U_SIZE];
  47.  
  48. printf("a) ∅ ⊂ A : %s\n", isSubset(empty, A) ? "TRUE" : "FALSE");
  49.  
  50. intersect(A, A, R1);
  51. printf("b) A ∩ A = A : %s\n", equal(R1, A) ? "TRUE" : "FALSE");
  52.  
  53. uni(A, empty, R1);
  54. printf("c) A ∪ ∅ = A : %s\n", equal(R1, A) ? "TRUE" : "FALSE");
  55.  
  56. diff(A, empty, R1);
  57. printf("d) A \\ ∅ = A : %s\n", equal(R1, A) ? "TRUE" : "FALSE");
  58.  
  59. // Для перевірки e) візьмемо A та B=A → Δ=∅
  60. int B[U_SIZE];
  61. for (int i = 1; i <= 10; i++) B[i] = A[i];
  62. symdiff(A, B, R1);
  63.  
  64. printf("e) A Δ B = ∅ → A = B : %s\n", equal(R1, empty) && equal(A, B) ? "TRUE" : "FALSE");
  65.  
  66. return 0;
  67. }
  68.  
  69.  
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
a) ∅ ⊂ A : TRUE
b) A ∩ A = A : TRUE
c) A ∪ ∅ = A : TRUE
d) A \ ∅ = A : TRUE
e) A Δ B = ∅ → A = B : TRUE