В
Все
Б
Биология
Б
Беларуская мова
У
Українська мова
А
Алгебра
Р
Русский язык
О
ОБЖ
И
История
Ф
Физика
Қ
Қазақ тiлi
О
Окружающий мир
Э
Экономика
Н
Немецкий язык
Х
Химия
П
Право
П
Психология
Д
Другие предметы
Л
Литература
Г
География
Ф
Французский язык
М
Математика
М
Музыка
А
Английский язык
М
МХК
У
Українська література
И
Информатика
О
Обществознание
Г
Геометрия
temirhanarmy
temirhanarmy
18.01.2022 21:19 •  Информатика

Срешением в pascal, массивы. вопрос- дана матрица a(nxn). вывести номера строк и столбцов в которых есть одинаковые элементы.

Показать ответ
Ответ:
Покемончик12346
Покемончик12346
07.10.2020 18:30
// 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
0,0(0 оценок)
Популярные вопросы: Информатика
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota Оформи подписку
logo
Начни делиться знаниями
Вход Регистрация
Что ты хочешь узнать?
Спроси ai-бота