IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> найти цифры,не входящие в десятичную запись числa n, множества
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


Доброго времени суток всем.
Перым своим сообщением на этом форуме прошу помочь решить следующую задачу :

Дано натурально число N. Найти цифры, не входящие в десятичную запись числа N.
Рекомендуется применить множественный тип языка прогр. Pascal. Спс за внимание,жду ответа..
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


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 , ' не входит')

 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


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

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


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


Цитата(klem4 @ 8.12.2007 18:37) *

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

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


В любом случае говоря о натуральных числах нужно заранее оговаривать включен ли ноль в их состов или нет, о чем в условиях умалчивается.
Как изменить программу для n=0 ?
компилятор пропустит это :
 if not(i in set1) then
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






Цитата
Как изменить программу для 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;
...


Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 10
Пол: Мужской

Репутация: -  0  +


Цитата
volvo

..Точно.спасибо.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гуру
*****

Группа: Пользователи
Сообщений: 1 220
Пол: Мужской

Репутация: -  16  +


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

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

Виноват дважды. Не проверял. Писал прямо тут.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 30.09.2020 13:19
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name