Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами i-е и j-е слова., Дана строка символов, состоящая из произвольного текста на английском
Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами i-е и j-е слова. Задачу нужно сделать с ComboBox Пытался делать задачу по примеру но ничего не вышло. Заранее спасибо
В модуле StrUtils есть процедуры поиска i-того слова. У меня нет Delphi, только FreePascal. Но FPC во многом совместим с Delphi. На примере консольной программы покажу как заменять слова при помощи библиотеки StrUtils:
{$mode Delphi}program tak_001;
uses
StrUtils;
procedure ExchangeWords(var s: string; i, j: integer);
var
WordI, WordJ: string;
PosI, PosJ: integer;
begin
WordI := ExtractWordPos(i, s, [' '], PosI);
WordJ := ExtractWordPos(j, s, [' '], PosJ);
if (WordI = '') or (WordJ = '') then
exit;
writeln(i, '-e: "', WordI, '"');
writeln(j, '-e: "', WordJ, '"');
Delete(s, PosI, length(WordI));
Insert(WordJ, s, PosI);
WordJ := ExtractWordPos(j, s, [' '], PosJ);
Delete(s, PosJ, length(WordJ));
Insert(WordI, s, PosJ);
end;
var
s: string;
i, j: integer;
begin
s := 'first second third fourth fifth sixth seventh eightth nineth tenth';
writeln(s);
ExchangeWords(s, 2, 3);
writeln(s);
end.
По поводу ComboBox ничего не могу посоветовать, т.к. не умею пользоваться визуальными компонентами (пока не было необходимости).