program FindMedian;
uses
SysUtils; // FloatToStr
const
N1 = 3;
N2 = 3;
type
TIntArray = array[1..N1 + N2] of Integer;
var
arr1: array[1..N1] of Integer = (1, 3, 5);
arr2: array[1..N2] of Integer = (2, 4, 6);
merged: TIntArray;
i, j, k, mid: Integer;
temp: Integer;
median: Real;
begin
// Merge arrays
k := 1;
for i := 1 to N1 do
begin
merged[k] := arr1[i];
Inc(k);
end;
for j := 1 to N2 do
begin
merged[k] := arr2[j];
Inc(k);
end;
// Sort merged array using Bubble Sort
for i := 1 to N1 + N2 - 1 do
for j := 1 to N1 + N2 - i do
if merged[j] > merged[j + 1] then
begin
temp := merged[j];
merged[j] := merged[j + 1];
merged[j + 1] := temp;
end;
// Find median
mid := (N1 + N2) div 2;
if (N1 + N2) mod 2 <> 0 then
median := merged[mid + 1]
else
median := (merged[mid] + merged[mid + 1]) / 2;
// Output result
WriteLn('Median: ', FloatToStr(median));
end.
(*
run:
Median: 3.5
*)