Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Поиск макс. пробела


Автор: koder 12.2.2006, 14:02
Как найти позиции в тексте последовательностей пробелов максимальной длины?

Автор: remax 12.2.2006, 14:26
Код

var s:string;
p,i,m,c,pc:integer;
begin
  s=' Текст    для   проверки      алгоритма';
  m:=0;
  p:=-1;
  c:=0;
  pc:=0;
  for i:=0 to length(s)-1 do
    if s[i]<>' '   
      then
          begin
             if c>m then
                 begin
                   m:=c;
                   p:=pc;
                 end;
              c:=0;
              pc:=i+1;
         end
      else
         inc(c);

// p- позиция (начало наибольшей последовательности)
// m - ее размер
// если m=0 то пробелов нет вообще      
end;



Это так, - первое приближение. Возможны огрехи (не проверялось), но основные принципы понятны... smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)