// PascalABC.NET 3.3, сборка 1623 от 16.01.2018 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк (столбцов) в массиве:'); Writeln('*** Исходный массив ***'); var a:=MatrRandom(n,n,10,30); a.Println(3); Writeln(3*a.ColCount*'-'); Write('Строки с повторяющимися элементами: '); var (i,k):=(0,0); foreach var строка in a.Rows do begin i+=1; if строка.Count<>строка.Distinct.Count then begin k+=1; Print(i) end end; if k=0 then Writeln('нет') else Writeln; Write('Столбцы с повторяющимися элементами: '); (i,k):=(0,0); foreach var столбец in a.Cols do begin i+=1; if столбец.Count<>столбец.Distinct.Count then begin k+=1; Print(i) end end; if k=0 then Writeln('нет') else Writeln end.
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк (столбцов) в массиве:');
Writeln('*** Исходный массив ***');
var a:=MatrRandom(n,n,10,30);
a.Println(3); Writeln(3*a.ColCount*'-');
Write('Строки с повторяющимися элементами: ');
var (i,k):=(0,0);
foreach var строка in a.Rows do begin
i+=1;
if строка.Count<>строка.Distinct.Count then begin
k+=1; Print(i)
end
end;
if k=0 then Writeln('нет')
else Writeln;
Write('Столбцы с повторяющимися элементами: ');
(i,k):=(0,0);
foreach var столбец in a.Cols do begin
i+=1;
if столбец.Count<>столбец.Distinct.Count then begin
k+=1; Print(i)
end
end;
if k=0 then Writeln('нет')
else Writeln
end.
Пример
Количество строк (столбцов) в массиве: 6
*** Исходный массив ***
30 16 23 17 19 27
18 13 21 19 21 11
30 10 24 27 22 20
19 28 15 29 15 18
11 30 22 25 21 15
27 14 27 28 18 28
Строки с повторяющимися элементами: 2 4 6
Столбцы с повторяющимися элементами: 1 5