1)
Код:
procedure FindMaxWord(S : String);
var
L : TStringList;
I : Integer;
Idx : Integer;
Len : Integer;
begin
L := TStringList.Create;
L.Text := StringReplace(S,' ',#13#10,[rfReplaceAll]);
If L.Count = 0 Then WriteLn('Нет слов')
Else
Begin
Idx := -1;
Len := -1;
For I := 0 To L.Count-1 Do
If Length(L[i]) > Len Then
Begin
Idx := I;
Len := Length(L[i]);
End;
WriteLn('Самое длинное слово "'+L[Idx]+'"');
WriteLn('Индекс слова: ' + IntToStr(Idx+1));
WriteLn('Позиция в исходной строке: ' + IntToStr(Pos(L[Idx],S)));
End;
L.Free;
end;
А со вторым - в работу, т.к. там посерьезнее будет и работы на пару дней как минимум (можно мне в личку - договоримся).