Предмет: Информатика,
автор: heroi54663
Помогите, пожалуйста, написать программу по информатике (можно на C++ , можно на Паскале или Питоне)
Даны два числа. Определить цифры, входящие в запись как первого, так и второго числа.
Входные данные
Программа получает на вход два числа. Гарантируется, что цифры в числах не повторяются. Числа в пределах от 0 до 10000.
Выходные данные
Программа должна вывести цифры, которые имеются в обоих числах, через пробел. ЦИФРЫ ВЫВОДЯТСЯ В ПОРЯДКЕ ИХ НАХОЖДЕНИЯ В ПЕРВОМ ЧИСЛЕ! Например ,
Даны числа : 564 и 8954
Нужно вывести : 5 и 4
Ответы
Автор ответа:
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:
Если нужны пояснения, пишите =).
Похожие вопросы
Предмет: Английский язык,
автор: kirya0411andreev67
Предмет: Химия,
автор: ksodbilgun88
Предмет: Химия,
автор: ksodbilgun88
Предмет: Биология,
автор: svetakirshina
Предмет: Биология,
автор: strekozaprt