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

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

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

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





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

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


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


Гость






Я же оставил в твоей теме ссылку, и написал тебе в ПМ, ОТКУДА надо скачать функцию, чтобы все заработало !!! 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
 К началу страницы 
+ Ответить 
Investor
сообщение 11.12.2005 19:08
Сообщение #3





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

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


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

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

Сообщений в этой теме


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

 



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