Найти два одинаковых элемента матрицы и вывести их индексы - PascalABC.NET

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

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

Дана целочисленная матрица С(5,5), в которой имеются два одинаковых элемента. Найти их, напечатать их индексы.
Это 2-ая задача,проверите пожалуйста,если ошибки ???
Листинг программы
  1. Program matr;
  2. var a:[1..10,1..10] of integer;
  3. i,j,k:integer;
  4. begin
  5. k:=1;
  6. for i:=1 to 10 do begin
  7. for j:=1 to 10 do begin
  8. a[i,j]:=k; inc(k);
  9. end;
  10. end;
  11. writeln ('вывести матрицу');
  12. end.

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

textual
Листинг программы
  1. Const n=5;
  2. Var
  3.   A:array[1..n] of integer;
  4.   i,t,in1,in2:integer;
  5.   b:boolean;
  6. Begin
  7.   For i:=1 to n do
  8.     Begin
  9.       write('A[',i,']: ');
  10.       readln(A[i]);
  11.     End;
  12.   i:=1;b:=true;
  13.   While (i<=n)and(b) do
  14.     Begin
  15.       t:=i;
  16.       While (t<=n)and(b) do
  17.         Begin
  18.           if (A[i]=A[t])and(i<>t) then
  19.             Begin
  20.               in1:=i;
  21.               in2:=t;
  22.               b:=false;
  23.             End;
  24.           inc(t);
  25.         End;
  26.       inc(i);
  27.     End;
  28.     writeln('Одинаковые числа: их индексы ',in1,'',' ',in2);
  29.     readln;

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

  1. Объявляются переменные: — A: массив из n целых чисел; — i, t, in1, in2: целые числа для подсчёта индексов; — b: флаг для контроля выхода из цикла.
  2. Заполняется массив A с помощью цикла for и оператора readln.
  3. Устанавливается начальное значение i=1 и флаг b=true.
  4. Запускается цикл while, который будет выполняться, пока i не станет больше n или пока не будет найден дубль.
  5. Внутри цикла while запускается внутренний цикл while, который будет выполняться, пока t не станет больше n или пока не будет найден дубль.
  6. Внутри внутреннего цикла while проверяется, равны ли текущие элементы массива A[i] и A[t]. Если да, и при этом i не равно t, то устанавливаются значения in1 и in2, и флаг b сбрасывается.
  7. После внутреннего цикла while увеличивается значение t.
  8. После внешнего цикла while выводится сообщение с найденными дублями и их индексами.
  9. Запрашивается ввод с помощью readln.

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


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

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

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы