![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 09.02.2012
Сообщений: 8
|
![]()
Есть переменная типа integer, нужно присвоить ей значение первого элемента множества. Множество типа set of byte. Такое возможно? В целом, как определить первый элемент множества?
|
![]() |
![]() |
![]() |
#2 |
Участник клуба
Регистрация: 30.01.2011
Сообщений: 1,578
|
![]()
насколко помню делал это обычным перебором... так как в byte может храниться лишь числа от 0 до 255 то через обычный цикл for i:=1 to 255 do и каждый проход сверять входит ли i в данное множество, если входит... собственно цель достигнута...
пишу код не только за печеньки
|
![]() |
![]() |
![]() |
#3 |
Старожил
Регистрация: 17.11.2010
Сообщений: 18,922
|
![]()
Low(Byte) и вернет первый элемент множества set of byte. High(Byte) - последний.
Это справедливо и для других множеств
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 09.02.2012
Сообщений: 8
|
![]()
В том то и дело, что тип множество - это не массив. И если
var L: set of byte; n: integer; то for i:=1 to 255 do if L[1]=i then n:=L[1]; не пойдёт, при компиляции будет ошибку по несоблюдению типов.. Я надеялся, что можно определить первый элемент вот так: L[1], и все дела.. но не проходит компиляцию =( |
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 30.01.2011
Сообщений: 1,578
|
![]()
кажись я немного попутал задание... мое минимальный находит)
пишу код не только за печеньки
|
![]() |
![]() |
![]() |
#6 |
Регистрация: 09.02.2012
Сообщений: 8
|
![]()
Аватар, это будет выглядеть так?
var L: set of byte; n: integer; n:=Low(L); |
![]() |
![]() |
![]() |
#7 |
Участник клуба
Регистрация: 30.01.2011
Сообщений: 1,578
|
![]()
вообщето я писал об вхождении в множество... а не об сравнивании...
Код:
но такой алгоритм найдет лишь наименьший элемент...
пишу код не только за печеньки
|
![]() |
![]() |
![]() |
#8 |
Регистрация: 09.02.2012
Сообщений: 8
|
![]()
VIK_aka_TOR, Спасибо!
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 02.11.2011
Сообщений: 105
|
![]()
И все же какое то некорректное задание.
|
![]() |
![]() |
![]() |
#10 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
действительно, некорректное! Потому что в понятии множества нет понятия ОЧЕРЁДНОСТИ (если это вызывает сомнения, то легко убедится в этом, посмотрев, например, статью на википедии). И приведённые решения показали НЕКОРРЕКТНОСТЬ задания. По сути осуществляется поиск не первого элемента (которого не существует), а элемента множества с минимальным значением кода. впрочем, я уверен, что преподавателей такое решение вполне устроит. p.s. только перебирать, всё таки, нужно начиная с нуля: Код:
|
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Записать первый элемент массива в конец | Pecho | Помощь студентам | 3 | 24.11.2010 23:14 |
Паскаль. Первый отрицательный элемент. | DaRus | Помощь студентам | 7 | 18.12.2009 21:26 |
первый нулевой элемент массива | shelest | Помощь студентам | 2 | 15.11.2009 12:38 |
Удалить первый положительный элемент после максимального | pavel42 | Помощь студентам | 3 | 25.05.2009 15:30 |
Первый нечетный элемент каждой строки удвоить (предполагается, что в каждой строке есть нечетный элемент | Галина002 | Помощь студентам | 1 | 18.03.2009 06:30 |