№ 1. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами i-е и j-е слова. № 2. Дана строка символов, состоящая из произвольного текста на английском языке, слова разделены пробелами. Поменять местами первую и последнюю буквы каждого слова. Я написал програму саму помагите как написать чтоб слову давала номер и чтоб их потом менять !
unit Tema5; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm2 = class (TForm) Label1: TLabel; ComboBox1: TComboBox; Label2: TLabel; Label3: TLabel; procedure FormActivate(Sender: TObject); procedure ComboBox1KeyPress(Sender: TObject; var Key: Char); procedure ComboBox1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form2: TForm2; implementation {$R *.dfm} //Обработка события активизации формы procedure TForm2.FormActivate(Sender:TObject); begin ComboBox1.SetFocus; //передача фокуса в ComboBox1 end; //Обработка события нажатия левой кнопки мыши procedure TForm2.ComboBox1KeyPress(Sender: TObject; var Key: Char); begin if key=#13 then //если нажата клавиша Enter begin ComboBox1.Items.Add(ComboBox1.Text); //строка из окна редактирования // заносится в список выбора ComboBox1.Text:=''; //очистка окна редактирования end; end; procedure TForm2.ComboBox1Click(Sender: TObject); var st:string; n,i,nst,ind:integer; begin n:=0; //n-число слов в строке ind:=0; nst:=ComboBox1.ItemIndex; // определение номера выбранной строки st:=ComboBox1.Items[nst]; //занесение выдел. строки в переменную st for i:=1 to Length(st) do //просмотр всех символов строки st begin case ind of 0: if st[i]<>' ' then //если встретился символ после пробела begin ind:=1; n:=n+1; //число слов увеличивается на единицу end; 1: if st[i]=' 'then ind:=0; //если встретился пробел после //символов end; Label3.Caption:=IntToStr(n); //вывод числа слов в Label3 end; end; end.
Сообщение отредактировано: BAEVIK - 24.04.2009 22:14