IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Строки, Как считать кол-во строчных и прописных русских букв?
Вася
сообщение 27.05.2007 21:45
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 27
Пол: Мужской

Репутация: -  0  +


Как можно посчитать кол-во строчных и прописных русских букв в строке?
У меня есть один способ считать строчные, а есть ли ещё?
Код

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;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость
сообщение 28.05.2007 10:28
Сообщение #2


Гость






Цитата(Вася @ 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 10:36
Сообщение #3


Гость






var alpha: string;
...
alpha := 'абвгде ... юяАБВГ ... ЮЯ';
...
for i := 1 to length(s) do
if pos(s[i], alpha) > 0 then rus := rus + 1;
...


Сообщение отредактировано: volvo - 28.05.2007 10:37
 К началу страницы 
+ Ответить 
Гость
сообщение 28.05.2007 10:55
Сообщение #4


Гость






и для полноты картины, вот так:
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

Я это..

Сообщение отредактировано: Lapp - 28.05.2007 11:47
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 23:12
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"