Помогите пожалуйста найти ошибку в коде.
Задача простая: удалить из строки последнее слово
procedure del_slovo(s:string);
var i,k,j:integer;q:boolean;
begin
k:=0; i:=length(s);
while s[i]=' ' do begin delete(s,i,1); i:=i-1; end;
q:=false;
while (not q) and (i>=1) do
begin
if (s[i]<>' ') and (s[i-1]=' ')
then
begin delete(s,i-1,length(s)-i+2); q:=true; end
else i:=i-1;
end;
end;
procedure del_slovo(var s:string);
var i,k,j:integer;q:boolean;
begin
k:=0; i:=length(s);
while s[i]=' ' do begin delete(s,i,1); i:=i-1; end;
q:=false;
while (not q) and (i>=1) do
begin
if (s[i]<>' ') and (s[i-1]=' ')
then
begin delete(s,i-1,length(s)-i+2); q:=true; end
else i:=i-1;
end;
end;
Да, точно! Я не заметила. Спасибо!
while (length(s) > 0) and (s[Length(s)] = ' ') do delete(s, Length(s), 1);
while (Length(s) > 0) and (s[length(s)] <> ' ') do delete(s, Length(s), 1);