19.05.2012, 20:59 | #1 (permalink) |
Member
Регистрация: 10.05.2012
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
Множества, Паскаль
|
19.05.2012, 20:59 | |
Helpmaster
Member
Регистрация: 08.03.2016
Сообщений: 0
|
На форуме так же найдены темы которые имеют сходства с вашей Задача по Паскалю на множества Множества С++ Множества С++ Множества,Паскаль Pascal,множества Множества |
19.05.2012, 21:08 | #2 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
А чему могут быть кратны цифры? Только 2, 3 или 4. То есть k - один из этих делителей? Или может быть, не "кратные", а "кратное"?
|
20.05.2012, 16:49 | #4 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну тогда-то что...
Код:
Var n,i:Byte; x,k:LongInt; S:Set of Byte; Procedure Figur(V:LongInt); var fig:Byte; begin repeat fig:=V mod 10; If Not(fig in S) then S:=S+[fig]; V:=V div 10; until V=0; end; Begin Write('n = '); Readln(n); Write('k = '); Readln(k); Writeln('Enter ',n,' numbers:'); For i:=1 to n do begin Write(i:3,' '); Readln(x); If (x mod k)=0 then Figur(x); end; For i:=0 to 9 do If Not(i in S) then write(i:2); Readln End. |
28.05.2012, 19:45 | #5 (permalink) |
Member
Регистрация: 10.05.2012
Сообщений: 20
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 10
|
?почему она какие-то странные числа выводит?
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
28.05.2012, 20:28 | #6 (permalink) |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Ну... видимо я не так понял задание. Вообще-то четче формулировать надо! Читаем:В Вашем примере к числам, кратным k=3, относятся 12 и 9, вот 1, 2 и 9 и не вошли в перечень. Или надо было понимать так, что цифры надо вывести не вообще любые, а только те, что входят во вводимые числа? Тогда так и надо писать! А у Вас, замечу, сказано ВСЕ цифры.
|
28.05.2012, 21:03 | #8 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
Код:
Type St=Set of Byte; Var n,i:Byte; x,k:LongInt; S,S1:St; Procedure Figur(V:LongInt; Sf_in:St; var Sf_out:St); var fig:Byte; Sf:St; begin Sf:=Sf_in; repeat fig:=V mod 10; If Not(fig in Sf) then Sf:=Sf+[fig]; V:=V div 10; until V=0; Sf_out:=Sf; end; Begin S:=[]; S1:=[]; Write('n = '); Readln(n); Write('k = '); Readln(k); Writeln('Enter ',n,' numbers:'); For i:=1 to n do begin Write(i:3,' '); Readln(x); If (x mod k)=0 then Figur(x,S,S) else Figur(x,S1,S1); end; For i:=0 to 9 do If Not(i in S) and (i in S1) then write(i:2); Readln End. |
|
29.05.2012, 09:47 | #10 (permalink) | |
Специалист
Регистрация: 27.08.2008
Адрес: Санкт-Петербург
Сообщений: 27,807
Сказал(а) спасибо: 340
Поблагодарили 583 раз(а) в 208 сообщениях
Репутация: 113184
|
Цитата:
|
|
Ads | |
Member
Регистрация: 31.10.2006
Сообщений: 40200
Записей в дневнике: 0
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Репутация: 55070
|
|
|