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

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

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

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

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

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

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

textual
Листинг программы
  1. Var a:array [1..100] of integer;
  2.     n,i,j:integer;
  3.     b:boolean;
  4. Begin
  5.  write('Введите N: ');
  6.  readln(n);
  7.  For i:=1 to n do
  8.  begin
  9.   write('A[',i,']=');
  10.   readln(a[i]);
  11.  end;
  12.  For i:=1 to n do write(a[i],' ');
  13.  writeln;
  14.  b:=true;
  15.  i:=1;
  16.  j:=1;
  17.  while b do
  18.  begin
  19.   if j<n then j:=j+1 else
  20.   begin
  21.    i:=i+1;
  22.    j:=i+1;
  23.   end;
  24.   if a[i]=a[j] then b:=false;
  25.  end;
  26.  writeln('Индексы одинаковых элементов: ',i,', ',j);
  27. 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

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

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

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