Дан текст. Если первый символ текста не является малой латинской буквой, то оставить его без изменения. Если же это малая латинская буква, но за начальной группой малых латинских букв не следует цифра, то также оставить текст без изменения. Иначе каждую цифру, принадлежащую группе цифр, следующей за начальной группой малых латинских букв, заменить символом *.
Unconnected
25.01.2009 0:08
Здесь тебе поможет множество и Case
Lapp
25.01.2009 9:59
Цитата(nilson @ 24.01.2009 19:55)
Дан текст. Если первый символ текста не является малой латинской буквой, то оставить его без изменения. Если же это малая латинская буква, но за начальной группой малых латинских букв не следует цифра, то также оставить текст без изменения. Иначе каждую цифру, принадлежащую группе цифр, следующей за начальной группой малых латинских букв, заменить символом *.
Я буду предполагать, что весь текст находится в переменнной s типа string.
const
LowLatin: setof char=['a'..'z'];
Digits: setof char=['1'..'9'];
var
s: string;
i: integer;
begin
Write('input text: ');
ReadLn(s);
while (Length(s)>0)and(s[1]=' ') do Delete(s,1,1); {delete spaces from the begining}if Length(s)>0thenbegin
i:=1;
while (Length(s)>=i)and(s[i] in LowLatin) do Inc(i);
if i>1thenwhile (Length(s)>=i)and(s[i] in Digits) dobegin
s[i]:='*';
Inc(i)
endend;
WriteLn('output text: ',s)
end.
Вот, примерно так.
nilson
25.01.2009 20:13
спасибо, попробуем...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.