Нужно: Напечатать в возрастающем порядке все цифры, входящие в записи данного числа.
Есть: НЕ входящие в записи натурального числа
program j4;
var
m:set of 0..9;
n,o,i:integer;
begin
write('Введите число:');
readln(n);
m:=[0,1,2,3,4,5,6,7,8,9];
while n>0 do
begin o:=n mod 10;
n:=n div 10;
if (o in m) then m:=m-[o]
end;
writeln('Цифры которых нет в числе:');
for i:=0 to 9 do
if i in m then
write(i,',');
readln;
end.
Переделать не получилось, нужна помощь.
Подкорректируйте
Модераторы: Хыиуду, MOTOCoder, Medved, dr.Jekill
если себя не утруждать, то можно так
Код: Выделить всё
program j4;
var
m,m1:set of 0..9;
n,o,i:integer;
begin
write('‚ўҐ¤ЁвҐ зЁб«®:');
readln(n);
m:=[0,1,2,3,4,5,6,7,8,9];
m1:=[0,1,2,3,4,5,6,7,8,9];
while n>0 do
begin o:=n mod 10;
n:=n div 10;
if (o in m) then m:=m-[o]
end;
for i:=0 to 9 do
if i in m then m1:=m1-[i];
for i:=0 to 9 do
if i in m1 then write(i,',');
readln;
end.
Можно сделать так:
[syntax='Delphi']
var
iNum:LongInt;
sNum:string;
n:LongInt;
i,c:integer;
Digits:array[0..9]of boolean;
begin
for i:=0 to 9 do
Digits:=False;
writeln('Введите число');
readln(iNum);
str(iNum,sNum);
for i:=1 to Length(sNum) do
begin
Val(sNum,n,c);
Digits[n]:=True;
end;
for i:=0 to 9 do
if Digits then
write(i,' ');
readln;
end.
[/syntax]
[syntax='Delphi']
var
iNum:LongInt;
sNum:string;
n:LongInt;
i,c:integer;
Digits:array[0..9]of boolean;
begin
for i:=0 to 9 do
Digits:=False;
writeln('Введите число');
readln(iNum);
str(iNum,sNum);
for i:=1 to Length(sNum) do
begin
Val(sNum,n,c);
Digits[n]:=True;
end;
for i:=0 to 9 do
if Digits then
write(i,' ');
readln;
end.
[/syntax]
Ни что так не ограничивает фантазию программиста, как компилятор...
Простая задача, а как цепляет!
Соответственно, если нужны цифры, которые не входят в число, то в предпоследней строке if not (i in a) then writeln(i)
Код: Выделить всё
var a: set of byte;
x,i:integer;
begin
readln(x);
while x>0 do
begin
include(x mod 10, a);
x:=x div 10;
end;
for i:=0 to 9 do
if i in a then writeln(i);
end.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.