Помощь - Поиск - Пользователи - Календарь
Полная версия: найти цифры,не входящие в десятичную запись числa n
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
brahma
Доброго времени суток всем.
Перым своим сообщением на этом форуме прошу помочь решить следующую задачу :

Дано натурально число N. Найти цифры, не входящие в десятичную запись числа N.
Рекомендуется применить множественный тип языка прогр. Pascal. Спс за внимание,жду ответа..
Ozzя
set1:=[];
readln(n);
while (n > 0) do
begin
digit := n mod 10;
include(set1,digit);
n := n div 10;
end;
for i:=0 to 9 do
if i not (in set1) then
write('Цифра', i , ' не входит')

klem4
в программе есть недочет, если ввести n = 0, результат будет не верным.

+ компилятор это не пропустит:
  if i not (in set1) then
brahma
Цитата(klem4 @ 8.12.2007 18:37) *

в программе есть недочет, если ввести n = 0, результат будет не верным.

+ компилятор это не пропустит:
  if i not (in set1) then


В любом случае говоря о натуральных числах нужно заранее оговаривать включен ли ноль в их состов или нет, о чем в условиях умалчивается.
Как изменить программу для n=0 ?
компилятор пропустит это :
 if not(i in set1) then
volvo
Цитата
Как изменить программу для n=0 ?
Хотя бы вот так:
...
if n = 0 then set1 = [0]
else begin
set1 := [];
while (n > 0) do begin
digit := n mod 10;
include(set1, digit);
n := n div 10;
end;
end;
...
brahma
Цитата
volvo

..Точно.спасибо.
Ozzя
Цитата
в программе есть недочет, если ввести n = 0, результат будет не верным.

Здесь тормознул. Виноват.
Цитата
компилятор это не пропустит:
 if i not (in set1) then

Виноват дважды. Не проверял. Писал прямо тут.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.