Помощь - Поиск - Пользователи - Календарь
Полная версия: Строки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Вася
Как можно посчитать кол-во строчных и прописных русских букв в строке?
У меня есть один способ считать строчные, а есть ли ещё?
Код

for i:= 1 to length(s) do
       if (ord(s[i]) in [160..175]) or (ord(s[i]) in [224..239])   then
            rus:= rus + 1;
Гость
Цитата(Вася @ 27.05.2007 21:45) *

У меня есть один способ считать строчные, а есть ли ещё?

Можно, например, не переводить в номера, прямо по символам:
Код
for i:= 1 to length(s) do
       if (s[i] in [#160..#175]) or (s[i] in [#224..#239])   then
            rus:= rus + 1;

Или можно сравнениями:
Код
for i:= 1 to length(s) do
       if (159<Ord(s[i])and(Ord(s[i]<176) or (223<s[i])and(Ord(s[i])<239) then
            rus:= rus + 1;

volvo
var alpha: string;
...
alpha := 'абвгде ... юяАБВГ ... ЮЯ';
...
for i := 1 to length(s) do
if pos(s[i], alpha) > 0 then rus := rus + 1;
...
Гость
и для полноты картины, вот так:
var
stro:set of char;
...
stro:=[#160..#175]+[#224..#239];
for i:=1 to Length(s) do if s[i] in stro then Inc(Rus);

smile.gif

Я это..
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.