Нахождение повторяющихся элементов в массиве - Pascal

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

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

Программа несколько раз выводит повторяющийся элемент, как сделать так, чтобы программа выводила только один раз и все?

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

textual
Листинг программы
const N=10;
var 
  a,b:array [1..N] of integer;
  i, j, k,l:integer;
  z:boolean;
begin
  randomize;
  for i:=1 to N do
   begin
     a[i]:= random(1,N);
     write(a[i]:3);
   end;
   writeln;
   l:=0;
   write('Эти числа повторяются: ');
   for i:= 1 to N do
     for j:= i+1 to N do
       if a[i]=a[j] then begin
         z:=true;
         for k:=1 to l do 
           if a[i]=b[k] then begin
             z:=false;
             break;
           end;
         if z then begin 
           l:=l+1;
           b[l]:=a[i];
         end;
        end;
  if l=0 then writeln('отсутствуют повторяющиеся элементы') else
    for i:=1 to l do write(b[i],' ');
end.

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

  1. Объявляются константа N=10 и переменные a, b, i, j, k, l, z типа integer.
  2. В цикле for i:=1 to N выполняется заполнение массива a случайными числами от 1 до N.
  3. Выводится на экран содержимое массива a.
  4. Устанавливается счётчик повторяющихся чисел l=0.
  5. Выводится сообщение Эти числа повторяются: и в цикле for i:= 1 to N выполняется поиск повторяющихся чисел в массиве a.
  6. Если число a[i] повторяется, то устанавливается флаг z=true и выполняется поиск таких же чисел в массиве b.
  7. Если число a[i] не повторяется в массиве b, то оно добавляется в массив b с индексом l и увеличивается счётчик l.
  8. Если в массиве b нет повторяющихся чисел, то выводится сообщение отсутствуют повторяющиеся элементы.
  9. В противном случае выводится на экран содержимое массива b.

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


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

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

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