Автор: Вася 28.05.2007 1:45
Как можно посчитать кол-во строчных и прописных русских букв в строке?
У меня есть один способ считать строчные, а есть ли ещё?
Код
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;
Автор: Гость 28.05.2007 14:28
Цитата(Вася @ 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 28.05.2007 14:36
var alpha: string;
...
alpha := 'абвгде ... юяАБВГ ... ЮЯ';
...
for i := 1 to length(s) do
if pos(s[i], alpha) > 0 then rus := rus + 1;
...
Автор: Гость 28.05.2007 14:55
и для полноты картины, вот так:
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);

Я это..