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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.11.2012, 00:24   #1
lilywka
Пользователь
 
Регистрация: 14.10.2012
Сообщений: 31
Сообщение Сделать через функцию

дано строки S, S1 и S2. Заменить в строке S первое вхождение строки S1 на строку S2
вот я ее просто написала. мне надо ее сделать через функцию.
Код:
program Project2;

{$APPTYPE CONSOLE}

uses
  SysUtils,
  Windows;
var
S2,S1,S:String;
temp:integer; 
begin
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
Writeln('Введите строку S');
readln(S);
Writeln('Введите строку S1');
readln(S1);
Writeln('Введите строку S2');
readln(S2);
temp:=pos(s1,s); 
Delete(s,temp,length(s1)); 
INSERT(S2,S,temp); 
Writeln('Ответ:', S);
Readln;
  { TODO -oUser -cConsole Main : Insert code here }
end.

Последний раз редактировалось lilywka; 13.11.2012 в 12:58.
lilywka вне форума Ответить с цитированием
Старый 13.11.2012, 00:54   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Функция может выглядеть так:
Код:
function aga(c,s1,s2:string):String;var i:integer;begin i:=pos(s1,c);if i<>0 then begin delete(c,i,length(s1));insert(s2,c,i);end; aga:=c;end;
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 13.11.2012, 01:01   #3
lilywka
Пользователь
 
Регистрация: 14.10.2012
Сообщений: 31
По умолчанию

прости, но я ничего не поняла. можешь объяснить пожалуйста. я просто с функцией пока не очень дружу)
lilywka вне форума Ответить с цитированием
Старый 13.11.2012, 01:29   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,430
По умолчанию

Stilet вынес вот этот кусок кода
Код:
temp:=pos(s1,s);
Delete(s,temp,length(s1));
INSERT(S2,S,temp);
в функцию.

Для вызова:
Код:
Writeln('Ответ:', aga(c,s1,s2));
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация через функцию c++\noob Общие вопросы C/C++ 0 08.03.2011 12:29
VBasic.Сделать не через InputBox а через For hoolywood Помощь студентам 0 08.01.2011 11:59
надо сделать дек через массив и через список. CHUCKe Помощь студентам 4 20.11.2010 17:23
Подчеркнуть текст через функцию Lepricon69 Общие вопросы Delphi 3 24.06.2010 01:59
CodeGear. Как сделать, что бы dproj по умолчанию открывалось через Delphi, а не через всю студию? TwiX Общие вопросы Delphi 2 10.11.2009 22:24