Задание 17 Урок 15. Одномерные массивы

Урок 15. Одномерные массивы

{15 - 17
Даны два массива по 20 элементов каждый (заполните случайными числами,
так чтобы среди элементов массива при очередном запуске программы могли встретиться и отрицательные и положительные числа).
Сравните каждый 3-ий элемент 1-ого массива с каждый 2-ым элементов 2-ого массива -
сравнение проводите пока не закончится та выборка, которая короче.

Например пусть мы имеем два массива (запишу лишь начальные элементы):

1 | 2 | -10 | 5 | 0 | 12 | 2 | 8 ....
0 | 3 | 4 | 9 | 7 | 5 | -8 | 3.....
для них программа должна вывести:

-10 меньше 3
12 больше 9
- других сравнений не последует, так как новых из "каждых третьих элементов" в 1-ом массиве больше нет.
}

type myArr  = array[1..20] of integer;

procedure print(arr: myArr; msg:string);
var i:integer;
begin
  writeln(msg);
  for i:=low(arr) to high(arr) do
    write(arr[i], ' ');
  writeln();
end;

procedure rnd(var arr: myArr; n: integer);
var i:integer;
begin
  randomize;
  for i:= low(arr) to high(arr) do
      arr[i] := (random(n)-10);
end;

procedure arrCollate(arr1, arr2:myArr);
var i,j: integer;
begin
  i:=3;
  j:=2;
  repeat
    begin
      if (arr1[i] > arr2[j]) then
       writeln(arr1[i], ' > ', arr2[j])
      else if (arr1[i] = arr2[j]) then
       writeln(arr1[i], ' = ', arr2[j])
      else
       writeln(arr1[i], ' < ', arr2[j]);
      i:=i+3;
      j:=j+2;
    end;
  until ((i >= high(arr1)) or (j >= high(arr2))) ;
end;

var
  arr1, arr2: myArr;
begin
  rnd(arr1,30);
  rnd(arr2,25);
  print(arr1, 'arr1:');
  print(arr2, 'arr2:');
  writeln();
  arrCollate(arr1,arr2);
  readln();
end.
//arr1:
//19 -7 11 15 18 3 4 6 -9 -8 3 10 -5 -10 -7 14 11 10 14 -8
//arr2:
//14 -8 8 10 14 1 2 4 -9 -8 1 6 -6 -10 -8 10 8 6 10 -8
//
//11 > -8
//3 < 10
//-9 < 1
//10 > 4
//-7 > -8
//10 > 6