Помощь - Поиск - Пользователи - Календарь
Полная версия: строки
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
MaximumGame
Помогите разобраться:
Создать приложение, предлагающее пользователю ввести строку текста, затем подсчитывает число подстрок в строке и в начало каждой подстроки в строке добавляет ее порядковый номер в круглых скобках(подстроки определяются пробелом). Заменить все пробелы на "_", подсчитать количество замен.

Добавлено через 3 мин.
 unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
[ { Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
const
st1='(1)';
var
bufst,st,stn:string;
i,k,m:integer;
begin
k:=1;
stn:='()';
st:=edit1.text;
insert(st1,st,0);
for i:=1 to length(st) do
begin
if st[i]=' ' then inc(k);
if st[i]=' ' then st[i]:='_';
str(k,bufst);
insert(bufst,stn,2);
if st[i]='_' then insert(stn,st,i+1);
m:=k-1; {замен}
label2.caption:=inttostr(k);
label3.Caption:=st;
label4.caption:=inttostr(m);
end; end;
end.



Добавлено через 2 мин.
не хочет правильно работать. В чем я не прав?
klem4
на сколько я понял, требуется вот это:

repeat
p := pos(' ', s);

if p > 0 then begin
inc(count);
delete(s, p, 1);
insert('_(' + IntToStr(count) + ')', s, p);
end;

until p = 0;
MaximumGame
спасибо
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.