Ввести натуральное число и определить, какие цифры встречаются несколько раз. Пример: Введите число >= 0: 2323 Повторяются: 2, 3
Var a, c : integer; con, rep : array [0..9] of boolean; begin read (a); while a > 0 do begin c := a mod 10; a := a div 10; if not con[c] then con[c] := true else rep[c] := true; end; for c := 0 to 9 do if rep[c] then write (c, ' '); end.
программа не выполняется...решение должно быть проще+важно наличие защиты от неправильного ввода
прошу прощения, выполняется, но это немного не то
в каком плане не то?
con и rep - произвольные названия переменных, con - от contain и rep - от repeat хорошо, сейчас переделаю на Integer
спасибо)
да, что значит защиты от неправильного ввода?
при вводе отрицательного числа программа должна повторять ввод
var a, c : integer; b : array [0..9] of integer; begin read (a); while a < 0 do begin writeln ('Введите a >= 0!'); read (a); end; while a > 0 do begin c := a mod 10; a := a div 10; b[c] := b[c] + 1; end; for c := 0 to 9 do if b[c] > 1 then write (c, ' '); end.