Пока не в недоумении как решить задачу... Вот найду я длину строки, как дальше поступать? Что нужно сделать, чтобы "вычленить" последнее слово и после сделать некоторые действия:
1) то, что осталось от строки, сделать преобразования
2) сравнивать новую строку с последним словом
3) как выкручиваться из случаев, когда общее количество символов превышает 255 без подключения каких-либо сторонних модулей?
Пока дошел до этого:
Var
st:string;
a,b: string;
i,j,k: integer;
begin
clrscr;
{Введи последовательность слов}
writeln('Write you words: ');
readln(st);
k:=1;
{Работаем с исходной строкой, пока она больше 0}
while length(st)>0 do
begin
{Ищем те случаи, когда строка оканчивается на пробел или точку}
k:=pos(' ',st);
if k=0 then k:=pos('.',st);
{когда нашли - переносим}
a:=copy(st,1,k-1);
{удаляем слово из последовательности}
delete(st,1,k);
{Если количество букв в слове нечетное - исключаем среднюю букву}
if length(a) mod 2<>0 then
begin
k:=(length(a)div 2)+1;
delete(a,k,1);
end;
end;
{Вывод результата}
for i:=1 to length(a) do
begin
write(a[i]);
end;
readln;
end.
Сообщение отредактировано: Relrin -