AXForum  
Вернуться   AXForum > Прочие обсуждения > Курилка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 18.09.2008, 17:40   #32  
dn is offline
dn
Участник
Самостоятельные клиенты AX
 
486 / 159 (6) ++++++
Регистрация: 26.03.2003
Адрес: Москва
Ещё один вариант...
X++:
BMRandom    bmrandom = new bmRandom();
    container   a = ['a','b','c','d'];
    container   b;
    int         i,L,N;
    set         result = new set(types::Container);
    set         exception;
    int random(int _max)
    {
        int ret;
        ;
        ret =  bmrandom.num(_max,1);
        if (exception.in(ret))
        {
            ret = random(_max);
        }
        else
        {
            exception.add(ret);
        }
        return ret;
    }
    container fillcon()
    {
        container c;
        ;
        exception = new set(types::Integer);
        for (i = 1;i<=L;i++)
        {
            c=conins(c,conlen(c)+1,conpeek(a,random(L)));
        }
        return c;
    }
    ;
        L = conlen(a);
        N = factorial(L);
        result.add(a);
        info(con2str(a));
        do
        {
            b = fillcon();
            if(!result.in(b))
            {
                result.add(b);
                info(con2str(b));
            }
        }
        while (result.elements() < N);
Теги
логические задачи

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
ARIS-задачи itfs Курилка 9 02.11.2006 12:35

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 09:29.