@igoodmood

Как правильно указать промежуток чисел,при котором будет правильно выбран падеж слова?

Как указать правильно промежуток,чтобы не перечислять числа от 1 до 100. Например, при вводе числа "67" выбирался третий вариант падежа.
c84a1d68ecf948f9ab1ebb57621ff23e.png
  • Вопрос задан
  • 269 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Ravenenok
x = (остаток от деления N на 10)
Если  x == 1 и N != 11 {
  "Ворона"
  Иначе Если x >= 2 и x <= 4 и N < 12 и N > 14 {
    "Вороны"
    Иначе {
      "Ворон"
    }
  }  
}
Ответ написан
@Mercury13
Программист на «си с крестами» и не только
Вот правила множественного числа разных языков.
www.unicode.org/cldr/charts/latest/supplemental/la...

Я с подобным работал, и если есть возможность выдавать один и тот же ответ в двух разных ветках — то так.
Остаток от деления на 100 от 5 до 20 → «ворон»
Остаток от деления на 10 равен 1 → «ворона»
Остаток от деления на 10 от 2 до 4 → «вороны»
Иначе — «ворон».

Я эти правила записывал вот в таком виде.
<pluralRules nDecisions="3" unknownInt="2">    ← вариантов три; если ни одно из правил не подошло, брать последний («ворон»)
		<rule mod="100" min="10" max="20" decide="2" />  ← остаток на 100 от 10 до 20 — «ворон»
		<rule mod="10" min="1" max="1" decide="0" />
		<rule mod="10" min="2" max="4" decide="1" />
	</pluralRules>
Ответ написан
Комментировать
@abcd0x00
Как указать правильно промежуток,чтобы не перечислять числа от 1 до 100.

Надо брать только последние две цифры (даже если число трёхзначное) - 00..99.
Потом просто их разделяешь на две переменные и делаешь проверку по отдельности.
То есть никакого анализа двузначных чисел не должно быть.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
26 июн. 2024, в 16:15
500 руб./за проект
26 июн. 2024, в 16:10
2000 руб./за проект
26 июн. 2024, в 15:48
15000 руб./за проект