Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

У меня не хватает идей


Fors ©   (2003-01-11 19:34:00) 

Мастера помогите разобраться с задачей.
Написать аналог процедуры Insert. Процедурой Delete и функцией Copy не пользоваться.В первой строке входа дана подстрока, которая вставляется, во второй строке входа строка, куда вставляется и в третьей строке входа позиция, начиная с которой подстрока будет входить в строку. У меня не хватает идей. Пока пришел к этому
var S,Substr,Str:string;
i:integer;
begin
ReadLn(Substr);
ReadLn(Str);
S:=Substr+Str;
WriteLn(S);
ReadLn
.......
end.


Fors   (2003-01-11 21:43:00) [1]

Я извиняюсь но как мне это сдалать, я начинающии и еще не совсем понимаю


TTCustomDelphiMaster   (2003-01-11 21:39:00) [2]

Я же говорю проверки добавь
и введи Position = 3


Fors   (2003-01-11 20:40:00) [3]

var i,Position:integer;
Str,SubStr,Result:string;
begin
ReadLn(SubStr);
ReadLn(Str);
ReadLn(Position);
SetLength(Result, Length(Str) + Length(SubStr));
for i := 1 to Position do
Result[i] := Str[i];
for i := 1 to Length(SubStr) do
Result[i + Position] := SubStr[i];
for i := Position to Length(Str) do
Result[i + Length(SubStr)] := Str[i];
WriteLn(Result);
ReadLn
end.
Вроде так оно и есть, но когда я ввожу
SubStr loи
Str helи
Position 4, чтобы получить слово hello
ответ он выдает такой hel l


TTCustomDelphiMaster   (2003-01-11 19:50:00) [4]

Примерно так.

function insert(Str, SubStr: string; Position: Integer): String;
var
i: Integer;
begin
SetLength(Result, Length(Srt) + Length(SubStr));
for i := 1 to Position do
Result[i] := Str[i];
for i := 1 to Length(SubStr) do
Result[i + Position] := SubStr[i];
for i := Position to Length(Str) do
Result[i + Length(SubStr)] := Str[i];
end;

Добавь проверки.


Наверх

Титульная страница Поиск, карта сайта Написать письмо