• Предмет: Информатика
  • Автор: heroi54663
  • Вопрос задан 10 месяцев назад

Помогите, пожалуйста, написать программу по информатике (можно на C++ , можно на Паскале или Питоне)
Даны два числа. Определить цифры, входящие в запись как первого, так и второго числа.

Входные данные

Программа получает на вход два числа. Гарантируется, что цифры в числах не повторяются. Числа в пределах от 0 до 10000.

Выходные данные

Программа должна вывести цифры, которые имеются в обоих числах, через пробел. ЦИФРЫ ВЫВОДЯТСЯ В ПОРЯДКЕ ИХ НАХОЖДЕНИЯ В ПЕРВОМ ЧИСЛЕ! Например ,
Даны числа : 564 и 8954
Нужно вывести : 5 и 4​

Ответы

Ответ дал: supersuperkirip54irs
1

var

 x, y, t, c, n, k: integer;

 a: array [1..10] of integer;

begin

 for t := 1 to 10 do

   a[t] := 0;

 read(x, y);

 t := x;

 while (t <> 0) do

 begin

   c += 1;

   t := t div 10;

 end;

 k := 1;

 for t := 1 to c do

   k *= 10;

 while (x <> 0) do

 begin

   n := y;

   t := x div k;

   while (n <> 0) do

   begin

     c := n mod 10;

     n := n div 10;

     if (c = t) and (a[c + 1] = 0) then

     begin

       write(t, ' ');

       a[c + 1] += 1;

       break;

     end;

   end;

   x := x mod k;

   k := k div 10;

 end;

end.


supersuperkirip54irs: Если нужны пояснения, пишите =).
Вас заинтересует