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

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

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

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


Новичок
*

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

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


Дано множество Х1, содержит целые числа из диапазона [1..255]. Сформировать новое множество Y путем выделения из множества Х1 нечетных чисел и чисел делящихся без остатка на 17.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


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

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

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


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


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


Гуру
*****

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

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


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


Новичок
*

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

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


Не ленив просто я не понимаю, как задачи некоторые решаются.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #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 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


Новичок
*

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

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


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

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


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

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

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


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

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

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


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


Новичок
*

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

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


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


Гуру
*****

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

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


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

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


Новичок
*

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

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


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

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

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


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

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


Гуру
*****

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

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


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


Новичок
*

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

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


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

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


Гуру
*****

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

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


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

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

 





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