1. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление

Склоняем наименование(ий)

Тема в разделе "Lotus - Программирование", создана пользователем NetWood, 2 июл 2009.

  1. NetWood

    NetWood Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    17 апр 2008
    Сообщения:
    362
    Симпатии:
    11
    Вот тут рядом редкие конструкции просклоняли. :) В том числе число прописью на мове и пр.
    А есть ли примерчик для слова наименование рядом, типа
    1 наименование
    2 наименования
    3 --
    4 --
    5 наименований
    ...
    11 наименований
    12 наименований
    ...
    21 наименование
    на собаках естессно
     
  2. NickProstoNick

    NickProstoNick Статус как статус :)
    Lotus team

    Репутация:
    0
    Регистрация:
    22 авг 2008
    Сообщения:
    1.784
    Симпатии:
    42
    Ну что-то вроде такого?
    Это писал для Default Value для мультизначного поля
    Код:
    count := 30;
    @For( n := 1; n <= count; n := n + 1;
    word := @Text( n ) + " наименовани";
    rez := rez : @If( @Modulo( n; 10 ) = 1; word + "е"; 
    @If( @Modulo( n; 10 ) = 2:3:4; word + "я"; word + "й")
    ) 
    );
    @Trim( rez )
    тут исправленый код
     
  3. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    не всё так просто :wacko: а как же 11-14? - тут "наименований" надо
     
  4. NickProstoNick

    NickProstoNick Статус как статус :)
    Lotus team

    Репутация:
    0
    Регистрация:
    22 авг 2008
    Сообщения:
    1.784
    Симпатии:
    42
    ну и не так уж и сложно
    Код:
    @For( n := 980; n <= 1020; n := n + 1;
    word := @Text( n ) + " наименовани";
    rez := rez : @If( @Modulo( n; 10 ) = 1 & @Modulo( n; 100 ) != 11; word + "е"; 
    @If( @Modulo( n; 10 ) = 2:3:4 & !( @Modulo( n; 100 ) = 12:13:14 ); word + "я"; word + "й")
    ) 
    );
    @Trim( rez )
     
  5. Omh

    Omh Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Круто!
    Я бы начал библиотеку писать :wacko:
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Репутация:
    0
    Регистрация:
    4 окт 2007
    Сообщения:
    3.360
    Симпатии:
    2
    мне кажется или правило можно так сделать?
    то, что имеет в первом десятке 1, то "наименование", кроме 11
    1, 21, 31, 41 - наименование
    аналогично
    2 - 4, - наименования
    5 - 9, кратно 10, а также 0, 11-19 - наименований
     
  7. NickProstoNick

    NickProstoNick Статус как статус :)
    Lotus team

    Репутация:
    0
    Регистрация:
    22 авг 2008
    Сообщения:
    1.784
    Симпатии:
    42
    ну у меня вроде бы так и написано
     
  8. hosm

    hosm * so what *

    Репутация:
    0
    Регистрация:
    18 май 2009
    Сообщения:
    2.442
    Симпатии:
    8
    а зачем @Modulo( n; 100:1000 ) - по-моему, достаточно только 100 или взять последние 2 цифры?
    не успела попробовать, отвлекли по работе :wacko:
    Akupaka - по алгоритму ты прав.
     
  9. Akupaka

    Akupaka А че я?.. О.о

    Репутация:
    0
    Регистрация:
    4 окт 2007
    Сообщения:
    3.360
    Симпатии:
    2
    похоже, что так оно и есть, я не сразу отвечаю, не видел еще сообщения )
     
  10. NickProstoNick

    NickProstoNick Статус как статус :)
    Lotus team

    Репутация:
    0
    Регистрация:
    22 авг 2008
    Сообщения:
    1.784
    Симпатии:
    42
    OKEN точно! спасибо :wacko:
    меня самого загоняли :)

    исправил
     
  11. NetWood

    NetWood Well-Known Member
    Lotus team

    Репутация:
    0
    Регистрация:
    17 апр 2008
    Сообщения:
    362
    Симпатии:
    11
    Законный плюс :wacko:
    Вон она как када все скопом набросились
     

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