Найти количество строк матрицы, все элементы которых различны - 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.
Объяснение кода листинга программы
- Создается функция
AllDifferent
, которая принимает в качестве аргументов матрицуMatr
и номер строкиrow
. Функция возвращает логическое значение -true
, если все элементы строки различны, иfalse
в противном случае. - В цикле
for
перебираются строки матрицы от 1 доN-1
. - Для каждой строки перебираются элементы от
i+1
доN
. - Если элементы равны, то функция
Exit
прекращает выполнение цикла. - Если после выполнения всех циклов функция
AllDifferent
не вернулаtrue
, то переменнойAllDifferent
присваивается значениеfalse
. - Если все элементы строки различны, то в цикле
for
перебираются строки матрицы от 1 доM
. - Для каждой строки проверяется результат функции
AllDifferent
. - Если результат равен
true
, то номер строки выводится на экран с добавлением-я строка матрицы, все элементы строки различные
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д