Ребят, помогите с решением задачи в Pascal, массивы. Вопрос- Дана матрица A(nxn). Вывести...

0 голосов
32 просмотров

Ребят, помогите с решением задачи в Pascal, массивы. Вопрос- Дана матрица A(nxn). Вывести номера строк и столбцов в которых есть одинаковые элементы.


Информатика (37 баллов) | 32 просмотров
Дан 1 ответ
0 голосов
Правильный ответ
// 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.

Пример
Количество строк (столбцов) в массиве: 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
(150k баллов)
0

Нужен другой формат этого задания

0

Там непонятно что, почему