Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.02.2011, 23:35   #1
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию турбо паскаль(множества)

Мне нужно вводить в множество отрицательные числа.
Например:
A: set of 1..5; это только положительные цифры, как же отрицательные вводить?
masterlomaster вне форума Ответить с цитированием
Старый 24.02.2011, 23:49   #2
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Код:
A: set of -128 .. 127;
?
netrino вне форума Ответить с цитированием
Старый 24.02.2011, 23:52   #3
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию аааааа

то что вы написали, на это он ругается!
masterlomaster вне форума Ответить с цитированием
Старый 25.02.2011, 00:02   #4
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

По-моему, множества в Паскале не могут содержать отрицательные значения. В своё время меня компилятор тоже обругал за то, что я пытался засунуть в множества число (-1).

Вот ещё:
http://comp-science.narod.ru/Progr/mn.htm

Особенно интересно вот это:
Цитата:
Множество может принимать все значения базового типа. Базовый тип не должен превышать 256 возможных значений. Поэтому базовым типом множества могут быть byte, char, boolean и производные от них типы.
Вадим Мошев вне форума Ответить с цитированием
Старый 25.02.2011, 00:08   #5
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию ааааа

Есть ли какой-нибуть выход? Нужно отрицательные ввести.
masterlomaster вне форума Ответить с цитированием
Старый 25.02.2011, 00:08   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от masterlomaster Посмотреть сообщение
то что вы написали, на это он ругается!
Действительно, проверял не в турбо паскале, потому всё нормально было. Тогда не знаю)
netrino вне форума Ответить с цитированием
Старый 25.02.2011, 00:13   #7
Вадим Мошев

Старожил
 
Аватар для Вадим Мошев
 
Регистрация: 12.11.2010
Сообщений: 8,568
По умолчанию

Извратиться можно конечно.

masterlomaster

Попробуйте создать дополнительное множество, а в программе указать, что если элементы берутся из этого множества, то считать их отрицательными и умножать на (-1)...
Вадим Мошев вне форума Ответить с цитированием
Старый 25.02.2011, 00:21   #8
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию ааааа

Он игнорирует отрицательные числа, не получается.
masterlomaster вне форума Ответить с цитированием
Старый 25.02.2011, 08:28   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
Он игнорирует отрицательные числа, не получается.
так используйте сдвиг.
допустим, Вам нужно множество от -10 до 5
тогда сдвигаем все элементы множества на 10
получаем ss : set of 0..15;
ну и когда проверяем, добавляем элементы в множество прибавляем +10
например, как проверить, что -3 есть в данном множестве, а если нет - то добавить?
Код:
if Not ((-3 + 10) in ss) then Include(ss, (-3 + 10));
Serge_Bliznykov вне форума Ответить с цитированием
Старый 25.02.2011, 13:04   #10
masterlomaster
Форумчанин
 
Аватар для masterlomaster
 
Регистрация: 21.10.2009
Сообщений: 114
По умолчанию аааааа

Спасибо!!!
masterlomaster вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль. Множества. Ria Помощь студентам 2 25.12.2010 16:19
Паскаль множества ololoshqa Помощь студентам 2 18.05.2010 22:07
Множества Турбо Паскаля ][][][ Помощь студентам 2 27.04.2010 19:12