Помощь - Поиск - Пользователи - Календарь
Полная версия: Удаляем символы
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Gl00M
Привет! Решил 7 задач из 8 по строкам... одна вот никак не дается...
Вощем, задача: удалить из текста все символы (кроме пробелов), не являющиеся русскими буквами!
Что-то я застопарился на этом, хотя и решал задачи посложнее....
Заранее благодарю!
мисс_граффити
циклом идешь по строке. анализируешь, является ли символ русской буквой. если нет - удаляешь...
можно смотреть по кодам, только аккуратно - они идут не совсем по порядку. в общем, посмотри таблицу ASCII
klem4

i := 1;
while (i <= length(s)) do
if not(s[i] in ['a'..'п', 'р'..'я', 'А'..'Я', ' ']) then delete(s, i, 1)
else inc(i);


?

мисс_граффити, опередила smile.gif
Gl00M
Ну, это я понял сам..
просто вот что недопонял...
как бы есть разбиение в массив:
I:=1; j:=1;
while i<=length(st) do begin
if(st[i]<>' ') and (st[i]<>',')and(st[i]<>'.') then begin
c[j]:=c[j]+st[i];
inc(i);
end
else begin
while (st[i]<>' ') or (st[i]<>',') or (st[i]<>'.') and (i<=length(st) do inc(i);
inc(j);
end;
end;
j:=j-1;


Этим разбиваею на слова...
а как в данный код (я думаю, что именно в этот надо) вставить проверку на русские символы?
volvo
if(st[i]<>' ') and (st[i]<>',')and(st[i]<>'.') then begin
if not (st[i] in ['А' .. 'Я', 'а' .. 'п', 'р' .. 'я']) then c[j]:=c[j]+st[i];
inc(i);
end

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