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

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

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

 
 Ответить  Открыть новую тему 
> Множество, Дано множество ...
@WARlock@
сообщение 22.03.2006 12:23
Сообщение #1


Новичок
*

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

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


Дано множество Х1, содержит целые числа из диапазона [1..255]. Сформировать новое множество Y путем выделения из множества Х1 нечетных чисел и чисел делящихся без остатка на 17.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 22.03.2006 14:02
Сообщение #2


Гуру
*****

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

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


Код
type
  asd = set of 1..255;
var
  x1 : asd;
  y  : asd;
  i  : integer;
begin
  for i:=1 to 255 do
    begin
      if (i mod 17 = 0) or (odd (i)) then
      include(y,i);
    end;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 23.03.2006 8:18
Сообщение #3


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

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

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


Оззя, ты не внимательно прочитал задание ...
Цитата
путем выделения из множества Х1


Цитата
Х1, содержит целые числа из диапазона [1..255]
- Это ведь не значит что они все есть в множестве x1.


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


Гуру
*****

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

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


klem4
Согласен.

Код
type
  asd = set of 1..255;
var
  x1 : asd;
  y  : asd;
  i  : integer;
begin
  for i:=1 to 255 do
    begin
      if i in x1 then
        if (i mod 17 = 0) or (odd (i)) then
          include(y,i);
    end;
end.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 23.03.2006 9:50
Сообщение #5


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

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

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


Да, но всеже я имел в виду что перед проверкой, надо заполнить множество X1 вручную, хотя .. дождемся автора да и эта чать я думаю труда не составит. rolleyes.gif


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


Гуру
*****

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

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


Автор раскидал эту задачу почти на всех паскалевских сайтах. unsure.gif Ленив? norespect.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
@WARlock@
сообщение 23.03.2006 11:55
Сообщение #7


Новичок
*

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

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


Не ленив просто я не понимаю, как задачи некоторые решаются.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 23.03.2006 12:13
Сообщение #8


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

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

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


Вот один из вариантов ...

uses crt;

var
x, y : set of byte;

n : byte;

begin

clrscr;

n := 0;

x := [];
y := [];

repeat
readln(n);
if n in [1..255] then
include(x, n);
until not(n in [1..255]); // ввод продолжается пока n >= 1 и n <= 255


for n := low(x) to high(x) do
if (n in x) and ((n mod 17 = 0) or (odd(n))) then include(y, n);

write('y : ');
for n := low(x) to high(x) do
if n in y then write(n, ' ');

end.


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


Новичок
*

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

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


klem4 , почему-то прога не запускается. Стопарится на low(x) и говорит "ordinal type expected".

Сообщение отредактировано: @WARlock@ - 28.03.2006 11:04
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
klem4
сообщение 28.03.2006 11:03
Сообщение #10


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

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

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


Куда смотреть я не понял ... в общем попробуй поменять все low(x) на 1, high(x) на 255 ...

Куда смотреть я не понял ... в общем попробуй поменять все low(x) на 1, higth(x) на 255 ...

Сообщение отредактировано: klem4 - 28.03.2006 11:03


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


Новичок
*

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

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


klem4, a почему при запуске проги ни чво не происходит. Ни при вводе чисел, ни как.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 28.03.2006 11:10
Сообщение #12


Гуру
*****

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

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


Цитата
Куда смотреть я не понял

Low, High не применимы для множеств
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
@WARlock@
сообщение 28.03.2006 11:11
Сообщение #13


Новичок
*

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

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


Цитата(klem4 @ 28.03.2006 19:03) *

Куда смотреть я не понял ... в общем попробуй поменять все low(x) на 1, high(x) на 255 ...

Куда смотреть я не понял ... в общем попробуй поменять все low(x) на 1, higth(x) на 255 ...


усе заменил теперь запускается. Но при запуске ни чво не происходит.

Сообщение отредактировано: @WARlock@ - 28.03.2006 11:23
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 28.03.2006 11:23
Сообщение #14


Гуру
*****

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

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


Происходит. Вводишь число, нажимаешь Enter. До тех пор пока не введешь число, выходящее за пределы [1..255] - 0 или 256
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
@WARlock@
сообщение 28.03.2006 11:32
Сообщение #15


Новичок
*

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

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


Вот именно вводишь число, нажимаешь Enter и курсор переходит на следующую строку и все.
А должно получится множество Y сост. из нечетных чисел и чисел делящихся без остатка на 17.

Сообщение отредактировано: @WARlock@ - 28.03.2006 11:36
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Ozzя
сообщение 28.03.2006 11:35
Сообщение #16


Гуру
*****

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

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


Вводишь СЛЕДУЮЩЕЕ число, нажимаешь Enter. До тех пор пока не введешь число, выходящее за пределы [1..255] - 0 или 256
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 19.06.2025 14:25
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"