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

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

Вернуться   Форум программистов > Delphi программирование > Паскаль, Turbo Pascal, PascalABC.NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.10.2012, 20:47   #1
zver1804
 
Регистрация: 29.10.2012
Сообщений: 9
По умолчанию функции в Pascal

const d = 100; m = 5; type position = 1 .. d; var x: string [d]; y, z: string [m]; Описать
логическую функцию search (s, ss, k, n), которая проверяет, входит подстрока ss в ту
часть строки s, которая начинается с k-й позиции, и, если входит, присваивает
параметру n номер позиции, с которой начинается первое вхождение ss в эту
часть строки s. Используя эту функцию, заменить в строке x все
вхождения подстроки y на подстроку z заданных.
zver1804 вне форума Ответить с цитированием
Старый 30.10.2012, 21:12   #2
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

И Вам добрый вечер, уважаемый!

Еле-еле продравшись сквозь дебри всех Ваших s,x,y,z,m,d и прочих букв аглицкого алфавита, разобрался, наконец, что все очень просто:

нужно скопировать часть строки начиная с k-того символа и найти (с помощь pos) первое вхождение подстроки. Только непонятно: если Вам нужна именно функция, так нефиг параметром n задавать, можно прямо на выход этой функции подавать значение pos. А переменную n имеет смысл использовать для процедуры.

А в основной программе - в цикле "пока search(x,y,z)>0" менять подстроку.
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 30.10.2012, 21:20   #3
zver1804
 
Регистрация: 29.10.2012
Сообщений: 9
По умолчанию

не знаю зачем переменная n, нашел такую задачу в интернете и интересно как решить
zver1804 вне форума Ответить с цитированием
Старый 30.10.2012, 21:23   #4
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

А сами не пробовали решить?
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Старый 30.10.2012, 21:25   #5
zver1804
 
Регистрация: 29.10.2012
Сообщений: 9
По умолчанию

дело в том что я только начинающий и немного трудно составить программу.
zver1804 вне форума Ответить с цитированием
Старый 30.10.2012, 21:29   #6
Mad_Cat
Made In USSR!
Старожил
 
Аватар для Mad_Cat
 
Регистрация: 01.09.2010
Сообщений: 3,657
По умолчанию

Цитата:
не знаю зачем переменная n
чтоб знать откуда удалять и куда вставлять
"...В жизни я встречал друзей и врагов.В жизни много всего перевидал.Солнце тело мое жгло, ветер волосы трепал,но я смысла жизни так и не узнал..."
(c) Юрий Клинских aka "Хой"
Mad_Cat вне форума Ответить с цитированием
Старый 30.10.2012, 21:33   #7
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Mad_Cat, насколько я понял, удалять и вставлять нужно в основном тексте программы, а там можно использовать вышенаписанную функцию, так как:

Цитата:
заменить в строке x все вхождения подстроки y
Вот если бы нужно было заменить все вхождения, большие n...
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функции. Pascal tutis Помощь студентам 14 19.01.2011 00:02
Функции. Pascal. meta Помощь студентам 1 12.01.2011 04:04
(Pascal) Функции S1nek Помощь студентам 9 24.11.2010 08:51
Функции [Pascal]. sergey31 Помощь студентам 4 31.05.2008 22:11