Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Semrush - keyword research tool

Turn ChatGPT, Claude, Gemini, And CoPilot Into Your Personal Assistant, Business Coach, Content Creator, And More

AFFILIATE MARKETING Your all-in-one performance engine Manage affiliates, creators, and customer referrals in one unified platform—turning every partnership into measurable growth
Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

42,844 questions

55,671 answers

573 users

How to get array subset in Pascal

1 Answer

0 votes
program ArraySubsetProgram;

type
  TIntArray = array of Integer;

function GetSubset(arr: TIntArray; startIndex, length: Integer): TIntArray;
var
  i: Integer;
begin
  // Check if the requested subset is within the bounds of the original array
  if (startIndex < 0) or (length < 0) then 
  begin
    // Return an empty array or handle the error appropriately
    SetLength(GetSubset, 0);
    Exit; // Exit the function to prevent further errors
  end;

  // Set the length of the result array
  SetLength(GetSubset, length);

  // Copy elements to the subset
  for i := 0 to length - 1 do
    GetSubset[i] := arr[startIndex + i];

  GetSubset := GetSubset; // Return the result
end;

var
  arr, subset: TIntArray;
  startIndex, length, i: Integer;
begin
  // Initialize the array
  SetLength(arr, 8);
  arr[0] := 3;
  arr[1] := 7;
  arr[2] := 9;
  arr[3] := 0;
  arr[4] := 4;
  arr[5] := 2;
  arr[6] := 1;
  arr[7] := 8;

  startIndex := 2; // Start index for the subset
  length := 4;      // Number of elements in the subset

  subset := GetSubset(arr, startIndex, length);

  Write('Subset: ');
  for i := 0 to High(subset) do
    Write(subset[i], ' ');
  WriteLn;
end.



(*
run:

Subset: 9 0 4 2 

*)

 



answered Mar 24, 2025 by avibootz
...