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

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

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

Задачка с виду не сложная, а загнала в тупик Дан одномерный целочисленный массив A(N). Известно, что среди его элементов

два и только два

равны между собой. Напечатать их индексы.

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

textual
Листинг программы
Var a:array [1..100] of integer;
    n,i,j:integer;
    b:boolean;
Begin
 write('Введите N: ');
 readln(n);
 For i:=1 to n do
 begin
  write('A[',i,']=');
  readln(a[i]);
 end;
 For i:=1 to n do write(a[i],' ');
 writeln;
 b:=true;
 i:=1;
 j:=1;
 while b do
 begin
  if j<n then j:=j+1 else
  begin
   i:=i+1;
   j:=i+1;
  end;
  if a[i]=a[j] then b:=false;
 end;
 writeln('Индексы одинаковых элементов: ',i,', ',j);
End.

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

В данном коде объявлены следующие переменные:

  • a: массив целых чисел размером от 1 до 100.
  • n: переменная для хранения числа элементов в массиве.
  • i, j: переменные для внутреннего цикла.
  • b: логическая переменная, которая указывает на то, что текущие элементы массива равны. Цель программы - найти индексы таких равных элементов массива, которых в массиве ровно два. Для этого используется цикл while, который выполняется до тех пор, пока не будет найдено два равных элемента. Внутри цикла выполняются следующие действия:
    1. Выводится запрос на ввод числа элементов в массиве.
    2. Для каждого элемента массива (от 1 до n) выводится его значение.
    3. Если текущие элементы равны, то переменная b устанавливается в false, иначе в true.
    4. Если b равно false, то переменные i и j сдвигаются так, чтобы текущие элементы были на одной позиции.
    5. Если a[i] равно a[j], то b устанавливается в false. После выполнения цикла выводится сообщение с индексами найденных равных элементов.

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


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

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

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