Найти два одинаковых элемента матрицы и вывести их индексы - PascalABC.NET
Формулировка задачи:
Дана целочисленная матрица С(5,5), в которой имеются два одинаковых элемента. Найти их, напечатать их индексы.
Это 2-ая задача,проверите пожалуйста,если ошибки ???
Решение задачи: «Найти два одинаковых элемента матрицы и вывести их индексы»
textual
Листинг программы
Const n=5; Var A:array[1..n] of integer; i,t,in1,in2:integer; b:boolean; Begin For i:=1 to n do Begin write('A[',i,']: '); readln(A[i]); End; i:=1;b:=true; While (i<=n)and(b) do Begin t:=i; While (t<=n)and(b) do Begin if (A[i]=A[t])and(i<>t) then Begin in1:=i; in2:=t; b:=false; End; inc(t); End; inc(i); End; writeln('Одинаковые числа: их индексы ',in1,'',' ',in2); readln;
Объяснение кода листинга программы
- Объявляются переменные: — A: массив из n целых чисел; — i, t, in1, in2: целые числа для подсчёта индексов; — b: флаг для контроля выхода из цикла.
- Заполняется массив A с помощью цикла for и оператора readln.
- Устанавливается начальное значение i=1 и флаг b=true.
- Запускается цикл while, который будет выполняться, пока i не станет больше n или пока не будет найден дубль.
- Внутри цикла while запускается внутренний цикл while, который будет выполняться, пока t не станет больше n или пока не будет найден дубль.
- Внутри внутреннего цикла while проверяется, равны ли текущие элементы массива A[i] и A[t]. Если да, и при этом i не равно t, то устанавливаются значения in1 и in2, и флаг b сбрасывается.
- После внутреннего цикла while увеличивается значение t.
- После внешнего цикла while выводится сообщение с найденными дублями и их индексами.
- Запрашивается ввод с помощью readln.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д