А вы не могли бы решить задачу не используя вторую строку, удаляя лишние буквы с помощью Delete()?
Uses
Crt;
Const
teSt = 'qsdasds qsdss as gfs sdss';
Spaces : Set of Char = [' ', Chr(9)];
Var
count, i: Byte;
St: String;
ChSet: Set of Char;
flag: Boolean;
begin
ClrScr;
Write('Type text: ');
Readln(St);
{
St := teSt;
}
count := 0;
i := 1;
While (i <= Length(St)) do begin
if (St[i] in Spaces) then begin
ChSet := [];
flag := false;
Inc(i);
end else begin
if (St[i] in ChSet) then begin
Delete(St, i, 1);
if not flag then begin
inc(count);
flag := true;
end;
end else begin
Include(ChSet, St[i]);
Inc(i);
end;
end;
end;
if (count > 0) then begin
Writeln('Found ', count, ' words.');
Writeln('Result: ', St);
end else
Writeln('Not found.');
Write('Done. Press any key...');
readkey;
end.
Если Вы уже зарегистрированы на Портале - войдите в систему, если Вы еще не регистрировались - пройдите простую процедуру регистрации.