IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> строки
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Максим

Репутация: -  0  +


Помогите разобраться:
Создать приложение, предлагающее пользователю ввести строку текста, затем подсчитывает число подстрок в строке и в начало каждой подстроки в строке добавляет ее порядковый номер в круглых скобках(подстроки определяются пробелом). Заменить все пробелы на "_", подсчитать количество замен.

Добавлено через 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 мин.
не хочет правильно работать. В чем я не прав?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


на сколько я понял, требуется вот это:

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

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

until p = 0;


Сообщение отредактировано: klem4 -


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 11
Пол: Мужской
Реальное имя: Максим

Репутация: -  0  +


спасибо
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 26.01.2021 18:43
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name