В отсортированном одномерном массиве нужно найти повторяющиеся числа и вывести их на экран - PascalABC.NET

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

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

здравствуйте. при написании программы столкнулась со следующей проблемой. в отсортированном одномерном массиве нужно найти повторяющиеся числа и вывести их на экран. условие "if a[i]=a[i-1]" делает не совсем то, что нужно. например, если срока будет "1 1 1 2 5 9 9 9 9", то в итоге программа выведет две единицы и три девятки. как поставить условие так, чтобы повторяющиеся числа выводились только по одному разу?

Решение задачи: «В отсортированном одномерном массиве нужно найти повторяющиеся числа и вывести их на экран»

textual
Листинг программы
temp:= a[1]+1;
for i:=1 to n-1 do
begin
  if (a[i]=a[i+1]) and (a[i]<>temp) then begin temp:=a[i]; writeln (a[i]; end
end;

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

В данном коде выполняется поиск повторяющихся чисел в отсортированном массиве и их вывод на экран.

  1. В первой строке кода переменной temp присваивается значение a[1]+1. Это означает, что в первую очередь будет проверяться следующий элемент массива после первого.
  2. Затем следует цикл for, который выполняется от 1 до n-1, где n - это размер массива.
  3. Внутри цикла происходит проверка: сравниваются текущий и следующий элементы массива (a[i] и a[i+1]). Если они равны, и при этом не равны temp, то значение temp присваивается текущему элементу массива (a[i]), и затем выводится на экран с помощью функции writeln. Таким образом, код проходит по всем элементам массива, начиная со второго, и проверяет, повторяется ли текущий элемент. Если да, и он не равен предыдущему найденному повторяющемуся числу, то он присваивается переменной temp, и затем выводится на экран.

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


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

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

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