Показать сообщение отдельно
  #4  
Старый 25.05.2010, 00:46
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,100
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Не, лениво. Были бы задачи интересные, а то стандартный примитив.
Делай, выкладывай код - мы подправим.

По задачам 8.х.
Там можно просто делить слово по пробелам.
Точнее задача 8.18 - находишь поз. пробела и отрезаешь слово. И так, пока в строке неостанется ни одного пробела. А задача 8.17 - еще полученным массив отсортировать по длиннам слов.

Код:
var
  S : String;
  I, J : Integer;
  A : Array Of String;
  Idx : Integer;
begin
  S := 'this is the text';

  // 8.18
  SetLength(A,0);
  Idx := Pos(' ',S);
  While Idx > 0 Do
    Begin
      SetLength(A,Length(A)+1);
      A[High(A)] := Copy(S,1,Idx-1);
      S := Copy(S,Idx+1,Length(S));
    End;
  If S <> '' Then 
    Begin
      SetLength(A,Length(A)+1);
      A[High(A)] := S;
    End;

  // 8.17
  For I := Low(A) To High(A)-1 Do
    For J := Low(A)+1 To High(A) Do
      If Length(A[i]) > Length(A[J]) Then
        Begin
          S := A[i];
          A[i] := A[J];
          A[J] := S;
        End;
   S := '';
   For I := Low(A) to High(A) Do
     Begin
       If S <> '' Then S := S + ' ';
       S := S + A[i];
     End;

про 7.х и не проси, делать не буду - лень - слишком примитивные.
Ответить с цитированием