Помощь - Поиск - Пользователи - Календарь
Полная версия: строки
Форум «Всё о Паскале» > Delphi, Assembler и другие языки. > Delphi
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
спасибо
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.