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

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

{15 - 18
У вас есть два массива целых чисел по 10 элементов в каждом.
Выведите на экран все числа из первого массива, которые не содержаться во втором.}

type myArr  = array[1..10] 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);
end;

procedure arrCollate(var arr1, arr2:myArr);
var i,j,k: integer;
begin
 for i:=1 to high(arr1) do
  for j:=1 to high(arr2) do
    if (arr1[i] = arr2[j]) then       // сравнение двух массивов
      arr1[i]:=0;

 for i:=1 to high(arr1) do
  for j:=2 to high(arr1) do
   if ((arr1[i]=arr1[j]) AND (i<>j)) then
      arr1[i]:=0;                    // удаление дубликатов из первого массива

 writeln('unique nums in arr1: ');
 for i:=1 to high(arr1) do
  if (arr1[i]<> 0) then              // вывод уникальных значений
    write(arr1[i],' ');
end;

var
  arr1, arr2: myArr;
begin
  rnd(arr1,12);
  rnd(arr2,15);
  print(arr1, 'arr1:');
  print(arr2, 'arr2:');
  writeln();
  arrCollate(arr1,arr2);
  readln();
end.
//arr1:
//1 2 8 8 8 9 3 5 1 6
//arr2:
//2 3 10 10 10 11 4 6 1 7
//
//unique nums in arr1:
//8 9 5