Показать сообщение отдельно
Старый 26.09.2011, 23:39   #26
Местный
 
Аватар для SeregaZ
 
Регистрация: 16.08.2009
Сообщений: 1,224
Сказал Спасибо: 4
Имеет 229 спасибок в 182 сообщенях
SeregaZ пока неопределено
По умолчанию

не знаю я насчет интеллектов всяких искусственных - полагаю тут нужна таблица, причем для каждого случая разное количество столбиков. поясняю:
сначала определяется количество сосок. 1, 2, 5, 21, 22 и так далее. по возможности вычисляется что-то типа прогрессии, под которую можно подгонять склонения.
типа если 1 то им. соска, дат. соску
если больше 1 - им. соски, дат. соски
если больше 4, то им. сосок, дат. соски
если 21 - то, им соска, дат соску
если больше 21, то им. соски, дат. соски
****
упрощаем эту таблицу применяя звездочку - подразумевая любую цифру, в том числе пустой символ
если *1 - то соска, соску
если больше от *2 до *4 соски, соски
если от *5 до *20 сосок, сосок

теперь мы определили как правильно будет писать что-то типа:
22 соски не могут вам дать прямо сейчас

исходя из соски будем строить дальше выражение и немного перефразируем:
22 соски не могут быть вам выданы
21 соска не может быть вам выдана

видим разницу, и довносим в нашу таблицу еще 2 столбика, и кстати ноль еще надо добавить включит и сам 0 сосок, 100 сосок, 1000 сосок:
если *1 - то соска, соску, может, выдана
если больше от *2 до *4 соски, соски, могут, выданы
если (от *5 до *20) ИЛИ *0 то сосок, сосок, могут, выданы
__________________
хочу картинку в подпись!
SeregaZ вне форума   Ответить с цитированием