Ввести натуральное число и определить, какие цифры встречаются несколько раз. Пример:...

0 голосов
208 просмотров

Ввести натуральное число и определить, какие цифры встречаются несколько раз.
Пример:
Введите число >= 0: Введите число >= 0:
2323 1234
Повторяются: 2, 3 Нет повторов.
С защитой, for


Информатика (116 баллов) | 208 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

Var
   C:array[0..9] of byte;
   A:longint;
   i:byte;
Begin
For i:= 0 to 9 do
    C[i]:=0;
Repeat
Write('Введите натуральное число: ');ReadLn(A);
Until A>0;
i:=Trunc(Ln(A)/Ln(10));
if frac(Ln(A)/Ln(10)) > 0 then i:=i+1;
For i:= 1 to i do
    Begin
    C[A mod 10]:=C[A mod 10] +1;
    A:=A div 10
    End;
For i:= 0 to 9 do
    if C[i]>1 then A:=1;
if A = 1 then
   Begin
   Write('Повторяются: ');
   For i:= 0 to 9 do
       if C[i] > 1 then
          Write(i,' ')
   End
End.


Пример работы программы:

Введите натуральное число: 131350788
Повторяются: 1 3 8

(34.0k баллов)