How to find the Kth smallest number in an unsorted array in Pascal

1 Answer

0 votes
program KthSmallest;

const
  MaxSize = 128;

type
  IntArray = array[1..MaxSize] of Integer;

function FindKthSmallestNumber(var arr: IntArray; size, k: Integer): Integer;
var
  i, j, temp: Integer;
begin
  // Bubble sort
  for i := 1 to size - 1 do
    for j := 1 to size - i do
      if arr[j] > arr[j + 1] then
      begin
        temp := arr[j];
        arr[j] := arr[j + 1];
        arr[j + 1] := temp;
      end;

  FindKthSmallestNumber := arr[k];
end;

var
  arr: IntArray;
  size, k, result: Integer;
begin
  size := 7;
  arr[1] := 42;
  arr[2] := 90;
  arr[3] := 21;
  arr[4] := 30;
  arr[5] := 37;
  arr[6] := 81;
  arr[7] := 45;

  k := 3;
  result := FindKthSmallestNumber(arr, size, k);
  WriteLn(result);
end.



(*
run:

37

*)

 



answered 9 hours ago by avibootz
...