Advertisement
Guest User

Untitled

a guest
Nov 18th, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.99 KB | None | 0 0
  1. program Project3_2;
  2.  
  3. {$APPTYPE CONSOLE}
  4. {$R *.res}
  5.  
  6. uses
  7. System.SysUtils;
  8.  
  9. type
  10. SetOfByte = Set of Byte;
  11.  
  12. procedure PrintSet(Set1: SetOfByte);
  13. var
  14. I, SetLength: Integer;
  15. Writer: String;
  16. begin
  17. Write('{');
  18. for I := 0 to 9 do
  19. if I in Set1 then
  20. Writer := Writer + IntToStr(I) + ', ';
  21. delete(Writer, Length(Writer) - 1, 2);
  22. WriteLn(Writer + '}');
  23. end;
  24.  
  25. function calculateSetLength(Set1, Set2: Integer): Integer;
  26. begin
  27. if SizeOf(Set1) > SizeOf(Set2) then
  28. calculateSetLength := SizeOf(Set1)
  29. else
  30. calculateSetLength := SizeOf(Set2);
  31. end;
  32.  
  33. function calculateIntersectionOf2Sets(Set1, Set2: SetOfByte): SetOfByte;
  34. begin
  35. calculateIntersectionOf2Sets := Set1 * Set2;
  36. end;
  37.  
  38. function getArrayElementsDividedBy(Numbers: SetOfByte; Divider: Integer)
  39. : SetOfByte;
  40. var
  41. I: Integer;
  42. ResultSet: SetOfByte;
  43. begin
  44. ResultSet := [];
  45. for I := 0 to 9 do
  46. if ( I in Numbers) and (I mod 3 = 0) then
  47. include(ResultSet, I);
  48.  
  49. getArrayElementsDividedBy := ResultSet;
  50. end;
  51.  
  52. function IsOneSetInAnother(Set1, Set2: SetOfByte): Boolean;
  53. begin
  54. IsOneSetInAnother := Set1 = Set2;
  55. end;
  56.  
  57. procedure Main();
  58. var
  59. X1, X2, X3, Y, SetElementsDividedBy3: Set Of Byte;
  60.  
  61. begin
  62. X1 := [1, 2, 3, 4, 5, 6];
  63. X2 := [1, 3, 4, 5, 6];
  64. X3 := [1, 5];
  65.  
  66. Y := calculateIntersectionOf2Sets(X1, X2);
  67. WriteLn(' This program find out crossing of two sets, subsets and elements divided by 3 ');
  68. WriteLn(' Result crossing of set ');
  69. PrintSet(X1);
  70. WriteLn('with set ');
  71. PrintSet(X2);
  72. WriteLn(' is set ');
  73. PrintSet(Y);
  74.  
  75. WriteLn(' in set ');
  76. PrintSet(Y);
  77. WriteLn(' elements, which divided by 3 makes set ');
  78. PrintSet(getArrayElementsDividedBy(Y, 3));
  79. WriteLn;
  80.  
  81. WriteLn('set ');
  82. PrintSet(X3);
  83. if IsOneSetInAnother(X3, Y) then
  84. WriteLn('is not subset of set ')
  85. else
  86. WriteLn('is subset of set');
  87. PrintSet(Y);
  88. end;
  89.  
  90. begin
  91. Main();
  92. ReadLn;
  93. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement