Программа должна удалить из строки все слова с нечётной длиной. Но то, что я запостю ниже, выполняется неправильно: колбасит чётные слова и т.д. (лажа появляется после выполнения первого delete в строке).
Вот этот код (он компилируется).
Var s,r : string;
i,k,n : integer;
Begin
Writeln('Vvedite stroku >');
Readln(s);
n:=length(s);
i:=1;
While i<=n do
Begin
k:=0;
While (s[i]<>' ') and (i<=n) do
Begin
k:=k+1;
i:=i+1;
End;
r:=copy(s,i-k,k);
If length(r) mod 2<>0 then delete(s,i-k,k);
i:=i+1;
End;
Writeln('Rezultat - ', s);
End.
Сообщение отредактировано: TBVlad -