program lb1;
const
nn = 46;
var
m: array [1 .. 100, 1 .. 100] of integer;
count: array [1 .. 100] of integer;
k: array [1 .. 100] of longint;
fib: array [1 .. nn] of longint;
b: array [1 .. 100] of boolean;
i, j, l, n, zc, kol, sum: integer;
sr: real;
function is_fib(x: integer): boolean;
var
i: integer;
result: boolean;
begin
for i := 2 to nn do
if x = fib[i] then
begin
result := true;
exit;
end;
result := false;
is_fib := result;
end;
begin
fib[1] := 1;
fib[2] := 1;
for i := 3 to nn do
fib[i] := fib[i - 1] + fib[i - 2];
write('Vvedite N (razmer matricy): ');
readln(n); { считываем размер матрицы }
for i := 1 to n do
for j := 1 to n do
begin
write('M[', i, ',', j, ']=');
readln(m[i, j]);
end; { считываем САМУ матрицу }
for i := 1 to n do
begin
writeln;
for j := 1 to n do
write(m[i, j], ' '); { выводим на экран Марицу }
end;
writeln;
writeln;
for l := 1 to n do { проходим по массиву и ниже вычисляем КОЛ_ВО уникал. эл. }
begin
for i := 1 to n do
b[i] := false;
count[l] := 0;
for i := 1 to n do
if (not b[m[i, l]]) then
begin
b[m[i, l]] := true;
inc(count[l]);
end; { конец поиска УНИК. эл. }
end;
writeln('Unikalnyh el-tov v stolbzah:');
for i := 1 to n do
writeln('V ', i, '-tom stolbze:', count[i]);
{ выводим номер столбца и КОЛ_ВО УНИК }
readln;
end.