Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program Project3_2;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- System.SysUtils;
- type
- SetOfByte = Set of Byte;
- procedure PrintSet(Set1: SetOfByte);
- var
- I, SetLength: Integer;
- Writer: String;
- begin
- Write('{');
- for I := 0 to 9 do
- if I in Set1 then
- Writer := Writer + IntToStr(I) + ', ';
- delete(Writer, Length(Writer) - 1, 2);
- WriteLn(Writer + '}');
- end;
- function calculateSetLength(Set1, Set2: Integer): Integer;
- begin
- if SizeOf(Set1) > SizeOf(Set2) then
- calculateSetLength := SizeOf(Set1)
- else
- calculateSetLength := SizeOf(Set2);
- end;
- function calculateIntersectionOf2Sets(Set1, Set2: SetOfByte): SetOfByte;
- begin
- calculateIntersectionOf2Sets := Set1 * Set2;
- end;
- function getArrayElementsDividedBy(Numbers: SetOfByte; Divider: Integer)
- : SetOfByte;
- var
- I: Integer;
- ResultSet: SetOfByte;
- begin
- ResultSet := [];
- for I := 0 to 9 do
- if ( I in Numbers) and (I mod 3 = 0) then
- include(ResultSet, I);
- getArrayElementsDividedBy := ResultSet;
- end;
- function IsOneSetInAnother(Set1, Set2: SetOfByte): Boolean;
- begin
- IsOneSetInAnother := Set1 = Set2;
- end;
- procedure Main();
- var
- X1, X2, X3, Y, SetElementsDividedBy3: Set Of Byte;
- begin
- X1 := [1, 2, 3, 4, 5, 6];
- X2 := [1, 3, 4, 5, 6];
- X3 := [1, 5];
- Y := calculateIntersectionOf2Sets(X1, X2);
- WriteLn(' This program find out crossing of two sets, subsets and elements divided by 3 ');
- WriteLn(' Result crossing of set ');
- PrintSet(X1);
- WriteLn('with set ');
- PrintSet(X2);
- WriteLn(' is set ');
- PrintSet(Y);
- WriteLn(' in set ');
- PrintSet(Y);
- WriteLn(' elements, which divided by 3 makes set ');
- PrintSet(getArrayElementsDividedBy(Y, 3));
- WriteLn;
- WriteLn('set ');
- PrintSet(X3);
- if IsOneSetInAnother(X3, Y) then
- WriteLn('is not subset of set ')
- else
- WriteLn('is subset of set');
- PrintSet(Y);
- end;
- begin
- Main();
- ReadLn;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement