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

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

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

 
 Ответить  Открыть новую тему 
> задача с "set", ...
сообщение
Сообщение #1


Новичок
*

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

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


есть TYPE natur=1..maxint;

Надо создать процедуру с (n) .
пример:

n=2,3,5,6
решение = 0,1,4,7,8,9 /

тоесть из множества (0,1,2,3,4,5,6,7,8,9 ), афишировать те цыфры которые не входят в (n)

Сообщение отредактировано: n4oJllI -


--------------------
даже шаг от рая ... это ад!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






И при чем здесь
Цитата
TYPE natur=1..maxint;
? blink.gif
Где оно должно использоваться?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

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

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


Цитата(volvo @ 25.01.2006 22:47) *

И при чем здесь
? blink.gif
Где оно должно использоваться?


такая задача, как я понял получиться( set of natur;)


--------------------
даже шаг от рая ... это ад!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






О Set of natur ты можешь только мечтать... С каких это пор в Set можно закинуть больше 256 значений?

А maxInt поболее 256 будет...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Новичок
*

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

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


Цитата(volvo @ 25.01.2006 22:51) *

О Set of natur ты можешь только мечтать... С каких это пор в Set можно закинуть больше 256 значений?

А maxInt поболее 256 будет...


мда ... так как n:integer; новерное можно предположить что имелось в виду n:natur;


--------------------
даже шаг от рая ... это ад!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


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

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

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


Чувствуется maxint тут не причем, значит возможно решение вот такое :


type
TSet = set of byte;
const
max = 9;
baseSet : TSet = [0..max];
var
checkSet : TSet = [2,3,5,6];

procedure c(n : TSet);
var
i : byte;
begin
n := baseSet - n;
for i := 0 to max do
if i in n then writeln(i);
end;

begin
c(checkSet);
readln;
end.


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


Гость






Так:
type
interval = 0 .. 9;
natur = set of interval;

procedure p(n: natur);
var i: byte;
begin
for i := low(interval) to high(interval) do
if not (i in n) then write(i:3);
writeln;
end;

begin
p([2, 3, 5, 6]);
end.
?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Новичок
*

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

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


Красиво зделано ... n:integer
просто я эту задачу перевёл с другово языка, она звучит гдето так:
Даёться TYPE natur=1..maxint; Создать процедуру через (n), которая афиширует все цыфры которые не входят в деситеричную ***** этого номира.


Цитата(n4oJllI @ 25.01.2006 22:37) *


n=2,3,5,6
решение = 0,1,4,7,8,9 /




это пример работы прогамы тоесть с клавиатуры водиться (n)
и програмы выдаёт на монитор те цыфры которые которые нет в (n)


--------------------
даже шаг от рая ... это ад!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

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

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


Type natur=1..maxint ;
mul=0..9 ;
r= set of mul ;
var
n:natur;
k:r;


procedure prr(h:natur; s:integer);
var k:r ;
begin

while h<>0 do
begin
s:=h mod 10 ;
if s in k then k:=k-s;
n:=h div 10 ;
s:=0;
end;
write (k);
end;
begin
writeln('nomer'); read(n);

prr(n,k);

end.


этот алгоритм правельный ???

Сообщение отредактировано: volvo -


--------------------
даже шаг от рая ... это ад!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гость






Чуть-чуть подправил свое предыдущее решение:
type
interval = 0 .. 9;
natur = set of interval;

procedure p(n: integer);
var
i: byte;
s: natur;
begin
s := [];
while n > 0 do begin
s := s + [ n mod 10 ];
n := n div 10;
end;

for i := low(interval) to high(interval) do
if not (i in s) then write(i:3);
writeln;
end;

var n: integer;
begin
write('n = '); readln(n);
p(n);
end.


P.S. Твоя программа не компилируется... Это во-первых. Во-вторых, ты должен сначала проверить все цифры числа, и только потом выводить что-то на печать...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Новичок
*

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

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


volvo
твой алгоритм просто выдаёт на экран чыфры из множества 1..9 , а не те которых нет в номере..

и "s" который в "if " это, последния цыфра + предпоследния и так до первой, а тут надо поосто цыфры из номера исключить из множества 0..9


--------------------
даже шаг от рая ... это ад!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Да что ты говоришь? А какое число ты ввел?

Я все-таки проверяю программы... Хочешь, присоединю скриншот вывода?

Пока - результат:
Цитата(Console)
Running
n = 120
3 4 5 6 7 8 9
Что в результате не устраивает?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #13


Новичок
*

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

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


я и не говорил что меня что то не устраивает... новерное "n" должен быть всётаки "1..maxint" а то паскаль с intrger на боьших номирах не работает для этого алгоритма как следует ...
Спасибо тебе ..


всё работает хорошо алгоритм правельный, good.gif

Сообщение отредактировано: n4oJllI -


--------------------
даже шаг от рая ... это ад!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #14


Гость






Да ты читать умеешь? Я же написал:
Цитата
procedure p(n: integer);
Зачем тебе еще maxInt куда-то лепить, когда integer и так от -MaxInt до +maxInt ?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #15


Новичок
*

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

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


учился когдато чтению, я извиняюсь всё правельно, просто сразу не сообразил, не с той стороны смотрел на прогу новерное -0)


--------------------
даже шаг от рая ... это ад!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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