Принадлежность элемента массива множеству чисел

Тема в разделе "Pascal and Delphi", создана пользователем juventine, 28 мар 2011.

  1. juventine

    juventine Гость

    Вопрос следующий: в Паскале нужно проверять, принадлежит ли элемент массива множеству чисел... но почему-то такая конструкция не работает:

    if ( mas in Otr ) then...
    где Otr объявляется следующим образом: Otr : array [1..9] of integer = ( -1 , -2 , -3 , -4 , -5 , -6 , -7 , -8 , -9 );

    mas : mas : array [0..40] of integer;



    в то время как запись if ( mas in [0..9] ) является рабочей...

    как быть? где я не прав?

    заранее благодарю!
     
  2. nayke

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0


    in используется не с массивами а с множествами.
    пример Множества
     
  3. juventine

    juventine Гость



    ОК... но почему тогда возникает ошибка при объявлении следующего множества: Otr : set of integer = [ -1 , -2 , -3 , -4 , -5 , -6 , -7 , -8 , -9 ];

    Вот что не совсем понятно...

    Спасибо!
     
  4. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    integer как бы немного больше ;)
     
  5. juventine

    juventine Гость

    [Error] Laba1.dpr(11): Sets may have at most 256 elements


    ну, как бы с этим все ясно... был невнимателен.. =)

    вопрос такой: есть ли в таком случае возможность объявить множество чисел в диапазоне от -1 до -9 = )


    Спасибо!
     
  6. nayke

    nayke Well-Known Member

    Регистрация:
    4 авг 2010
    Сообщения:
    310
    Симпатии:
    0
    А что мешает написать свою функцию MyIn
    например
    Код (Text):
    function MyIn(El:integer):boolean;
    begin
    result:=false;
    for i:=1 to countEl
    begin
    if a[i]=el then result:=true;
    break;
    end;
    end;
    если массивы данных для поиска большие см. бинарный поиск например.
     
Загрузка...

Поделиться этой страницей