что же мой вариант...
program ttt;
{$APPTYPE CONSOLE}
const
M1:array [0..7] of integer = ( 1, 2, 3, 4, 5, 6, 7, 0 );
M2:array [0..8] of integer = ( 28, 1, 2, 3, 4, 5, 6, 7, 0 );
M3:array [0..10] of integer = ( 38, 39, 30, 1, 2, 3, 4, 5, 6, 7, 0 );
M4:array [0..8] of integer = ( 1, 2, 3, 4, 5, 6, 7, 48, 0 );
M5:array [0..10] of integer = ( 1, 2, 3, 4, 5, 6, 7, 58, 59, 50, 0 );
M6:array [0..8] of integer = ( 1, 2, 3, 68, 4, 5, 6, 7, 0 );
M7:array [0..10] of integer = ( 1, 2, 3, 78, 79, 70, 4, 5, 6, 7, 0 );
M8:array [0..15] of integer = ( 1, 2, 80, 81, 82, 3, 4, 5, 83, 84, 6, 7, 85, 86, 87,0 );
procedure PrintDiff(a,b:array of integer);
var i,j:Integer;
begin
i:=0; j:=0;
while a[i] <> 0 do begin //общая внутренность
while a[i] <> b[j] do begin
write (b[j], ' ');
inc(j);
end;
writeln;
inc(i);
inc(j);
end;
while b[j] <> 0 do begin // пропущенный мною хвост
write (b[j], ' ');
inc(j);
end;
end;
begin
PrintDiff(M1,M8);
Readln;
end.