String6. Дан символ $$C$$, изображающий цифру или букву (латинскую или русскую). Если $$C$$ изображает цифру, то вывести строку «digit», если латинскую букву — вывести строку «lat», если русскую — вывести строку «rus».
Решение:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
program String6; var C:char; begin Write('C:'); readln (C); case ord(C) of 48..57: Writeln('digit'); 65..90,97..122: Writeln('lat'); 128..175,224..243: Writeln('rus'); end; end. |
Другие задачи из раздела String можно посмотреть здесь.
Когда вводишь русский символ, ничего не выводит почему-то
Здесь вопрос кодировки. данный пример расчитан, на кодировку cp866
Они все заходят сюда с паскаля ABC.NET, а там символ это 2 байта в кодировке Unicode. Соответственно для ru-символов диапазон 1040..1072.
Даже не знаю что и сказать… Надеюсь что люди догадаются почитать статью про кодировку 🙂 а то переделывать все решения под юникод не охота 🙂
что-то сообщение не добавляет
Не всё сразу 🙂 Страница закэшировалась, и вы не видите сообщение сразу, для того что бы видеть сообщения в реал тайм надо зарегистрироваться на сайте.