Найти количество строк матрицы, все элементы которых различны - 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
, то номер строки выводится на экран с добавлением-я строка матрицы, все элементы строки различные
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д