Тема: Строки
Показать сообщение отдельно
  #3  
Старый 18.10.2009, 11:00
5nizza77 5nizza77 вне форума
Прохожий
 
Регистрация: 16.10.2009
Сообщения: 10
Репутация: 10
По умолчанию

А как сделать эту прогу в ConsoleApplication. Я попытался, но прога лагает. Например: я ввожу '56---36 --0056' а она выводит '56-36, -0056' , а надо чтоб выводила '5636, -56'

Код:
var
  s,e:string;
  i:integer;
begin
  readln(s);
  i:=1;
   while i<=length(s) do
    begin
      if s[i] in ['-','0'..'9',' '] then
      e:=e+s[i];
      i:=i+1;
    end;
   s:='';
   for i:=1 to length(e) do
    begin
      if e[i] in ['-'] then
        begin
          if i>1 then
            if (e[i+1] in ['0'..'9']) and (e[i-1] in [' ','-']) then s:=s+e[i];
          if i<=1 then
            if e[i+1] in ['0'..'9'] then s:=s+e[i];
        end;
          if e[i] in ['0'..'9'] then
            if e[i+1] in [' '] then s:=s+e[i]+', '
             else
              s:=s+e[i];
    end;
  writeln;
  writeln(s,'.');
  readln;
end.
Ответить с цитированием