Задача 1 Урок 19

Задача 1 Урок 19 Получите случайный набор из 5 чисел, величиной от 1 до 50.Рассчитайте для каждого числа два его наибольших делителя, число и два делителя храните как запись, а для всего набора используйте массив записей.Используйте в коде do with
Выведите на экран результаты расчетов для каждого из исходных значений

type arr = array  [1..5]  of integer;
type del = record
  one1 : string [5];
  two1 : string [5];
end;
var chislo : del;
var a : arr;
one, two,i : integer;
s:string;

procedure randomix ( var b:arr );
var i,min,max : integer;
begin
   randomize();
   min := 1;
   max := 50;
   for i:=low(b) to high(b) do
     b[i] := min + random(max - min + 1);
end;

procedure splittwo ( var b:integer; var one : integer; var two : integer );
var max,i : integer;
begin
  max:=b;
  for i:=1 to max do
    if ((max mod i) = 0) then
      begin
        two:=one;
        one:=i;
      end;
end;

begin
  randomix (a); // генерация чисел от 1 до 50
  for i:=low(a) to high(a) do
    begin
      splittwo (a[i],one,two); // в процедуру для поиска двух делителей
      with chislo do begin
        str(one,s);
        one1:=s;
        str(two,s);
        two1:=s;
        writeln(a[i],' ','has a common divisor',one1,' ',two1);
      end;
    end;
  readln();
end.     

Вывод консоли:

2 has a common divisor2 1
49 has a common divisor49 7
2 has a common divisor2 1
4 has a common divisor4 2
33 has a common divisor33 11