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

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Задача: найти и заменить слово в массиве строк, Помогите плз.
AGENT_KGB
сообщение 12.11.2007 19:29
Сообщение #1





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

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


Задача найти и заменить слово, введенное с клавиатуры на другое, в массиве строк. Желательно в виде функции.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 8)
Sozialist
сообщение 12.11.2007 23:27
Сообщение #2


Клавиатурный тиран
**

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

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


В чем затруднение? Стандартный поиск с FOR, POS, потом DELETE и INSERT
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
AGENT_KGB
сообщение 13.11.2007 12:56
Сообщение #3





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

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


Пробовал, но у меня зацикливает-препод мняет "баба" на "баобаба".
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Lapp
сообщение 13.11.2007 13:05
Сообщение #4


Уникум
*******

Группа: Модераторы
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

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


Так ты покажи, что сделал. Подправим.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
AGENT_KGB
сообщение 13.11.2007 18:50
Сообщение #5





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

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


Ну вот она:

begin
write ('Find: ');
readln (w1);
write ('Change: ');
readln (w2);
while pos(w1,s)>0 do
begin
delete(s,pos(w1,s),length(w1));
insert(w2,s,pos(w1,s));
end;
for i:=1 to length (s) do
write (s[i]);
end;

Вообще работает, но зацикливает.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.11.2007 1:47
Сообщение #6


Гость






Ну, скажем, начать исправлять уже отсюда:
Цитата
delete(s,pos(w1,s),length(w1));
insert(w2,s,pos(w1,s)); { <--- После удаления части строки в предыдущем операторе ??? }


Надо запомнить позицию, и потом (при вставке) не искать ее еще раз, а использовать то, что уже было найдено...

Кроме этого, где массив строк? Или ты хочешь оформить это функцией и вызывать в цикле?

P.S. Еще одно - ты написал
Цитата
найти и заменить слово, введенное с клавиатуры на другое
, а можешь получить замену последовательности символов. Чтобы было слово, надо чтоб оно было с обоих сторон ограничено либо разделителями, либо началом/концом строки (как находить в строке именно слово одним If-ом - было на форуме, искать по слову "трехэтажную")
 К началу страницы 
+ Ответить 
AGENT_KGB
сообщение 14.11.2007 20:19
Сообщение #7





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

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


Куда записывать позицию если слово не одно? В массив?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 14.11.2007 20:27
Сообщение #8


Гость






Примеры приводи, или выражайся как-нибудь так, чтобы было понятно. ГДЕ не одно слово?
 К началу страницы 
+ Ответить 
AGENT_KGB
сообщение 14.11.2007 20:34
Сообщение #9





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

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


В тексте надо заменить все слова на введенное с клавиатуры, как в Ворде.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 



- Текстовая версия 20.07.2025 2:53
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"