Найти количество строк матрицы, все элементы которых различны - Pascal

Узнай цену своей работы

Формулировка задачи:

Дана целочисленная матрица размера MxN в файле данных. Найти количество её строк, все элементы которых разичны и разместить результат на экране.

Решение задачи: «Найти количество строк матрицы, все элементы которых различны»

textual
Листинг программы
function AllDifferent(Matr : TMatrix; row : integer):boolean;
var j,k : integer;
begin
   AllDifferent := false;
   for j:=1 to N-1 do
      for k:=i+1 to N do 
        if Matr[row,j]=Matr[row,k] then Exit;
   AllDifferent := true;
end;
  
begin
  <чтение матрицы>
 
  for i:=1 to M do 
     if AllDifferent(A, i) then WriteLn(i,'-я строка матрицы,  все элементы строки различные');
end.

Объяснение кода листинга программы

  1. Создается функция AllDifferent, которая принимает в качестве аргументов матрицу Matr и номер строки row. Функция возвращает логическое значение - true, если все элементы строки различны, и false в противном случае.
  2. В цикле for перебираются строки матрицы от 1 до N-1.
  3. Для каждой строки перебираются элементы от i+1 до N.
  4. Если элементы равны, то функция Exit прекращает выполнение цикла.
  5. Если после выполнения всех циклов функция AllDifferent не вернула true, то переменной AllDifferent присваивается значение false.
  6. Если все элементы строки различны, то в цикле for перебираются строки матрицы от 1 до M.
  7. Для каждой строки проверяется результат функции AllDifferent.
  8. Если результат равен true, то номер строки выводится на экран с добавлением -я строка матрицы, все элементы строки различные.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.5 из 5
Похожие ответы