Advertisement
grioool

Untitled

Nov 13th, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.20 KB | None | 0 0
  1. void calculateIntersectionOf2Sets(int *set1, int *set2) {
  2. int resultSetLength = calculatePossibleResultSetLength(set1, set2);
  3. int resultSet[resultSetLength];
  4. int realLength = 0;
  5.  
  6. for (int i = 0; i < set1.length; i++) {
  7. int element = set1[i];
  8. if (isElementInSet(set2, element)) {
  9. resultSet[realLength] = element;
  10. realLength++;
  11. }
  12. }
  13.  
  14. return Arrays.copyOfRange(resultSet, 0, realLength);
  15. }
  16.  
  17. int calculatePossibleResultSetLength(int[] set1, int[] set2) {
  18. if (set1.length > set2.length) {
  19. return set1.length;
  20. } else {
  21. return set2.length;
  22. }
  23. }
  24.  
  25. private static boolean isElementInSet(int[] set, int element) {
  26. boolean result = false;
  27.  
  28. for (int i = 0; i < set.length; i++) {
  29. if (set[i] == element) {
  30. result = true;
  31. break;
  32. }
  33. }
  34.  
  35. return result;
  36. }
  37.  
  38. private static int[] getArrayElementsDividedBy(int[] numbers, int divider) {
  39. int[] resultSet = new int[numbers.length];
  40. int realLength = 0;
  41.  
  42. for (int i = 0; i < numbers.length; i++) {
  43. if (isDividedBy(numbers[i], divider)) {
  44. resultSet[realLength] = numbers[i];
  45. realLength++;
  46. }
  47. }
  48.  
  49. return Arrays.copyOfRange(resultSet, 0, realLength);
  50. }
  51.  
  52. void copyOfRange() {
  53.  
  54. }
  55.  
  56. bool isDividedBy(int number, int divider) {
  57. return number % divider == 0;
  58. }
  59.  
  60. void printSet(int[] set) {
  61. if (set.length == 0) {
  62. System.out.print("\"пустое множество\"");
  63. } else {
  64. System.out.print("{");
  65. for (int i = 0; i < set.length; i++) {
  66. System.out.print(set[i]);
  67. if (i < set.length - 1) {
  68. System.out.print(", ");
  69. }
  70. }
  71. System.out.print("}");
  72. }
  73. }
  74.  
  75. bool isOneSetInAnother(int[] set1, int[] set2) {
  76. bool result = true;
  77.  
  78. for (int i = 0; i < set1.length; i++) {
  79. if (!isElementInSet(set2, set1[i])) {
  80. result = false;
  81. break;
  82. }
  83. }
  84.  
  85. return result;
  86. }
  87.  
  88. void main() {
  89.  
  90. int[] X1 = {1, 2, 3, 4, 5, 6};
  91. int[] X2 = {1, 3, 4, 5, 6};
  92. int[] X3 = {1, 5};
  93.  
  94. int[] Y = calculateIntersectionOf2Sets(X1, X2);
  95. System.out.print("Pезультатом пересечения множества ");
  96. printSet(X1);
  97. System.out.print(" со множеством ");
  98. printSet(X2);
  99. System.out.print(" является множество ");
  100. printSet(Y);
  101. System.out.println();
  102.  
  103. int[] setElementsDividedBy3 = getArrayElementsDividedBy(Y, 3);
  104. System.out.print("у множества ");
  105. printSet(Y);
  106. System.out.print(" элементы, которые делятся на 3, образуют множество ");
  107. printSet(setElementsDividedBy3);
  108. System.out.println();
  109.  
  110. boolean isx3inY = isOneSetInAnother(X3, Y);
  111. System.out.print("множество ");
  112. printSet(X3);
  113. if (isx3inY) {
  114. System.out.print(" является подмножеством множества ");
  115. } else {
  116. System.out.print(" НЕ является подмножеством множества ");
  117. }
  118. printSet(Y);
  119. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement