Вывести слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву - Turbo Pascal

Формулировка задачи:

Дана последовательность, содержащая от 2 до 30 слов, в каждом из которых от 2 до 10 строчных латинских букв; между соседними словами – пробел, за последним словом – точка. Вывести все слова последовательности, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: удалить из слова последнюю букву.

Код к задаче: «Вывести слова, отличные от последнего слова, предварительно удалив из каждого слова последнюю букву - Turbo Pascal»

textual
Var s,sl,st:string;
    i:byte;
Begin
    write('Последовательность слов: ');readln(s);
    if s[Length(s)]='.' then Delete(s,Length(s),1);
    i:=Length(s);
    While (s[i]<>' ')and(i<>0) do
    Begin
      st:=s[i]+st;
      Delete(s,i,1);
      dec(i);
    End;
    While Pos(' ',s)>0 do
    Begin
      sl:=Copy(s,1,Pos(' ',s)-1);
      Delete(s,1,Pos(' ',s));
      if (st<>sl)and(Length(sl)>1) then writeln(Copy(sl,1,Length(sl)-1));
    End;
    readln;
End.

5   голосов, оценка 3.400 из 5


СОХРАНИТЬ ССЫЛКУ