Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2011, 14:46   #1
art_d
Пользователь
 
Регистрация: 30.09.2010
Сообщений: 22
По умолчанию Разобраться с ф-ией delete

Задача,дана строка Inputstring, в ней есть слово WordOut, после слова WordOut вставить слово WordIn (текст сожет быть слитным)

len:=pos(WordOut, Inputstring)+length(WordOut);
Insert(WordIn, Inputstring, len);

o:=Inputstring;
a:=Inputstring;
writeln(pos(WordIn,Inputstring)) ;
ind:=pos(WordIn,Inputstring)+ length(WordIn);
writeln(ind);
delete(o,1,pos(WordIn,Inputstring)) ;
writeln(o,' stroka o');
delete(a,pos(WordIn,Inputstring),le ngth(a));
writeln(a,' stroka a');
if pos(WordOut, o)>0 then
begin
len:=pos(WordOut, a)+length(WordOut);
Insert(WordIn, a, len);
end;
c:=a+o;
end
else
ind:=11;

end;


проблема в ф-ии delete, не могу понять почему она удаляет не то, что задаю
art_d вне форума Ответить с цитированием
Старый 21.03.2011, 14:49   #2
New man
Форумчанин
 
Регистрация: 24.01.2011
Сообщений: 774
По умолчанию

ххм, обьясните че вы хотите этой прогой сделать
a.k.a. Angelicos Phosphoros
Мой сайт
New man вне форума Ответить с цитированием
Старый 21.03.2011, 15:25   #3
unbanned
Форумчанин
 
Аватар для unbanned
 
Регистрация: 23.11.2010
Сообщений: 530
По умолчанию

а не легче
Код:
insert(WordIn,Inputstring,pos(WordOut,inputstring)+length(WordOut));
unbanned вне форума Ответить с цитированием
Старый 21.03.2011, 15:40   #4
art_d
Пользователь
 
Регистрация: 30.09.2010
Сообщений: 22
По умолчанию

Например, дана строка aabbbaatestooopppopotest, это Inputstring, ввидим слово test это WordOut, вводим WordIn, допустим QQQ, на выходи получаем aabbbaatestQQQooopppopotestQQQ

Код:
procedure Inp (Inputstring : StrData; WordOut:strData;  var WordIn: StrData1 );
    begin

 if pos(WordOut, Inputstring)>0 then

  begin
  
   len:=pos(WordOut, Inputstring)+length(WordOut);
   Insert(WordIn, Inputstring, len);

   o:=Inputstring;
   a:=Inputstring;
   writeln(pos(WordIn,Inputstring)) ;
   ind:=pos(WordIn,Inputstring)+ length(WordIn);
   writeln(ind);
   delete(o,1,pos(WordIn,Inputstring));
    writeln(o,' stroka o');
   delete(a,pos(WordIn,Inputstring),length(a));
        writeln(a,' stroka a');
     if pos(WordOut, o)>0 then
       begin
        len:=pos(WordOut, a)+length(WordOut);
        Insert(WordIn, a, len);
       end;
    c:=a+o;
   end
  else
  ind:=11;

 end;
 begin

   end.
art_d вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
delete asko Помощь студентам 0 15.04.2010 16:16
delete[] c++ NiCola999 Общие вопросы C/C++ 4 26.02.2010 22:16
delete [] nazavrik Общие вопросы C/C++ 6 15.01.2010 22:46
error C2541: 'delete' : cannot delete objects that are not pointers novokhatsky Общие вопросы C/C++ 2 14.12.2009 10:25
Перегрузка операций new, new[], delete, delete[] IgorKr Общие вопросы C/C++ 1 22.10.2008 12:14