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

> Правила раздела!

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

 
 Ответить  Открыть новую тему 
> Текстовые файлы, Не могу придумать алгоритм
сообщение
Сообщение #1





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

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


С помощью какого алгоритма можно осуществить поиск окончиния слова в текстовом файле и заменить его на другое?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

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

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


Что значит окончание слова ? Да еще и в файле... можно выделать несколько последних букв напирмер, окончание это слишком расплывчато


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Смотрю...
*****

Группа: Пользователи
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Строки и работа с ними: http://forum.pascal.net.ru/index.php?showtopic=2361


добавлено klem4

Apal yes2.gif

+ FAQ : Файлы

Сообщение отредактировано: klem4 -


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






Investor, я же приводил в твоей прошлой теме готовую программу. Чем она тебя не устроила? Достаточно просто читать из одного файла, преобразовывать строку как я показал, и писать в другой файл, а потом удалить старый файл и переименовать новый...

В чем проблема?
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


Цитата(volvo @ 11.12.2005 14:49) *

Investor, я же приводил в твоей прошлой теме готовую программу. Чем она тебя не устроила? Достаточно просто читать из одного файла, преобразовывать строку как я показал, и писать в другой файл, а потом удалить старый файл и переименовать новый...

В чем проблема?

Дело в том, что твоя готовая программа не работает. Там, например, есть неизвестные паскалю функции и типы данных.

Цитата(APAL @ 11.12.2005 14:47) *

Строки и работа с ними: http://forum.pascal.net.ru/index.php?showtopic=2361
добавлено klem4

Apal yes2.gif

+ FAQ : Файлы

Спасибо, начинаю врубаться. Но пока не сильно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Я же оставил в твоей теме ссылку, и написал тебе в ПМ, ОТКУДА надо скачать функцию, чтобы все заработало !!! mad.gif Что за люди - НЕ РАБОТАЕТ, и ВСЕ !!! Если скопированное символ в символ не запускается...

Вот теперь работает ???

{
!!! Это - ДОСЛОВНО !!! Функция, которая лежит по ссылке,
находящейся у тебя в топике и в PM !!!
}

const
delimiter = [#32, ',', '.', '!', ':'];
type
wrd_info = record
start, len: byte;
end;

function get_words(s: string;
var words: array of wrd_info): integer;
var
count: integer;

i, curr_len: byte;

begin
count := -1; i := 1;
while i <= length(s) do begin

while (s[i] in delimiter) and (i <= length(s)) do inc(i);

curr_len := 0;
while not (s[i] in delimiter) and (i <= length(s)) do begin
inc(i); inc(curr_len);
end;

if curr_len > 0 then begin
inc(count);
with words[count] do begin
start := i - curr_len;
len := curr_len
end;
end;

end;
get_words := count + 1;
end;

{ !!! Это - из моего ответа в твой топик !!! }
const
max_word = 255;
var
words: array[1 .. max_word] of wrd_info;
s: string;
i, n: integer;

begin
readln(s);
n := get_words(s, words);
for i := 1 to n do
if copy(s, words[i].start + words[i].len - 3, 3) = 'ина'
then s[ words[i].start + words[i].len - 1 ] := ' ';
{ (чтобы не было проблем со сдвигом строки) }

writeln(s);
end.


А теперь - ВНИМАНИЕ !!! Вопрос:
Каких типов данных и функций не хватает для запуска программы? mad.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





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

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


function get_words(s: string;
var words: array (чё тут нада поставить??? - 1..max_wrd не подходит) of wrd_info): integer

Сообщение отредактировано: Investor -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





- Текстовая версия 23.12.2024 20:49
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name