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

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

Показать ответ
Ответ:
Your1sad1waifu
Your1sad1waifu
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-бота