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

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

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

 
 Ответить  Открыть новую тему 
> заменить в тексте все слова, работа с текстовыми файлами
Gudzon
сообщение 26.04.2007 20:30
Сообщение #1





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

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


Может для кого-то покажется легкой .заменить в тексте все слова "функция" на "процедура" в текстовом файле(любой .txt) .Программа звучит так,никак не могу придумать алгоритм.Помогите пожайлуста завтра нужно сдать.

Сообщение отредактировано: Gudzon - 26.04.2007 20:32
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
мисс_граффити
сообщение 26.04.2007 20:55
Сообщение #2


просто человек
******

Группа: Модераторы
Сообщений: 3 641
Пол: Женский
Реальное имя: Юлия

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


Нужно ли заменять слово, если оно не отдельно стоящее, а часть другого? Ну например "минифункция"...
Если нужно:
1. Считали строку из файла f1
2. Если pos искомого слова в строке не равно 0, сделали delete и insert на соответствующее место.
3. записали строку в файл f2
4. удалили f1
5. переименовали f2

Если нет - придется преобразовать второй пункт (см. тему "Разбиение на слова. Все способы")


--------------------
Все содержимое данного сообщения (кроме цитат) является моим личным скромным мнением и на статус истины в высшей инстанции не претендует.
На вопросы по программированию, физике, математике и т.д. в аське и личке не отвечаю. Даже "один-единственный раз" в виде исключения!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Tan
сообщение 26.04.2007 21:06
Сообщение #3


Профи
****

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

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


В слове функция - 8 букв, в слове процедура - 9, из - за этого не надо будет пробельчик вставлять, чтобы не смешался текст ? ( то есть урезаем 8 букв а вставляем 9 ) Или я перемудрил ? smile.gif


--------------------
Цитата
Imagination is more important than knowledge.
Albert Einstein
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.04.2007 21:13
Сообщение #4


Гость






Если удалять/вставлять через Delete/Insert, то ничего не надо добавлять... Само добавится... smile.gif
 К началу страницы 
+ Ответить 
Gudzon
сообщение 26.04.2007 21:28
Сообщение #5





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

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


Цитата(volvo @ 26.04.2007 22:13) *

Если удалять/вставлять через Delete/Insert, то ничего не надо добавлять... Само добавится... smile.gif

было написано delete\insert использовать в нужном месте в строке,нет ли какого-нибудь примера?
просто не так давно занимаюсь с текстовыми файлами и не очень хорошо себе это представляю

Сообщение отредактировано: Gudzon - 26.04.2007 21:31
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 26.04.2007 21:43
Сообщение #6


Гость






Там же было написано, в каком месте удалять/добавлять... Для одной строки это выглядит ПОЧТИ так:
var
s: string;
p: integer;

begin
s := 'this is the main function in function ...';
repeat
p := pos('function', s);
if p > 0 then begin
delete(s, p, length('function'));
insert('procedure', s, p);
end;
until p = 0;
writeln(s);
end.

(почти - потому, что это будет работать неправильно например на строке: "malfunction" - так что выражение будет немного сложнее...)
 К началу страницы 
+ Ответить 

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

 



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