fork download
  1. #include <stdio.h>
  2.  
  3. #define U_SIZE 11
  4.  
  5. void printSet(int set[]) {
  6. printf("{ ");
  7. for (int i = 1; i <= 10; i++)
  8. if (set[i]) printf("%d ", i);
  9. printf("}\n");
  10. }
  11.  
  12. void intersect(int A[], int B[], int R[]) {
  13. for (int i = 1; i <= 10; i++)
  14. R[i] = A[i] && B[i];
  15. }
  16.  
  17. void uni(int A[], int B[], int R[]) {
  18. for (int i = 1; i <= 10; i++)
  19. R[i] = A[i] || B[i];
  20. }
  21.  
  22. void symdiff(int A[], int B[], int R[]) {
  23. for (int i = 1; i <= 10; i++)
  24. R[i] = (A[i] != B[i]);
  25. }
  26.  
  27. int main() {
  28.  
  29. int A[U_SIZE] = {0};
  30. int B[U_SIZE] = {0};
  31. int C[U_SIZE] = {0};
  32.  
  33. int a_vals[] = {1,2,3,5,6};
  34. int b_vals[] = {2,3,4,8,9};
  35. int c_vals[] = {3,4,5};
  36.  
  37. for (int i = 0; i < 5; i++) A[a_vals[i]] = 1;
  38. for (int i = 0; i < 5; i++) B[b_vals[i]] = 1;
  39. for (int i = 0; i < 3; i++) C[c_vals[i]] = 1;
  40.  
  41. int AC[U_SIZE] = {0};
  42. int AC_sym_B[U_SIZE] = {0};
  43. int BC[U_SIZE] = {0};
  44. int result2[U_SIZE] = {0};
  45.  
  46. intersect(A, C, AC);
  47. symdiff(AC, B, AC_sym_B);
  48.  
  49. intersect(B, C, BC);
  50. uni(A, BC, result2);
  51.  
  52. printf("a) (A ∩ C) Δ B = ");
  53. printSet(AC_sym_B);
  54.  
  55. printf("b) A ∪ (B ∩ C) = ");
  56. printSet(result2);
  57.  
  58. return 0;
  59. }
  60.  
Success #stdin #stdout 0s 5292KB
stdin
Standard input is empty
stdout
a) (A ∩ C) Δ B = { 2 4 5 8 9 }
b) A ∪ (B ∩ C) = { 1 2 3 4 5 6 }