Помощь - Поиск - Пользователи - Календарь
Полная версия: найти цифры,не входящие в десятичную запись числ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

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