How to check whether an array is subset of another array in Pascal

1 Answer

0 votes
program IsSubsetCheck;

function IsSubset(arr1, arr2: array of integer; size1, size2: integer): boolean;
var
  i, j: integer;
  found: boolean;
begin
  for i := 0 to size2 - 1 do
  begin
    found := false;
    for j := 0 to size1 - 1 do
    begin
      if arr2[i] = arr1[j] then
      begin
        found := true;
        break;
      end;
    end;
    if not found then
    begin
      IsSubset := false;
      exit;
    end;
  end;
  IsSubset := true;
end;

var
  arr1: array[0..7] of integer = (5, 1, 8, 12, 40, 7, 9, 100);
  arr2: array[0..3] of integer = (8, 40, 9, 1);
  size1, size2: integer;

begin
  size1 := Length(arr1);
  size2 := Length(arr2);

  if IsSubset(arr1, arr2, size1, size2) then
    writeln('yes')
  else
    writeln('no');

  readln;
end.



(*
run:

yes

*)

 



answered Oct 4, 2025 by avibootz
...