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

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

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

> Работа с текстовым файлом+динамические списки, Нужна помощь в решении...
сообщение
Сообщение #1





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

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


Буду очень признателен за помощ в решении следующущей задачи:

Дан текстовый файл. Построить динамический список по всем словам из файла. Вычислить среднюю длину слова. Создать два новых списка: в одним слова с длиной меньше средней, в другом слова с длинной большей средней. Оба списка вывести в текстовый файл out1.txt, out2.txt
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
сообщение
Сообщение #2


Гость






Это то, для красоты сделано: Все о динамических структурах данных -> Списки ?

а вот это:
FAQ: Файлы ?

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





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

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


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


Гость






Пробегаешь по всему списку (точный код - зависит от реализации списка, примерно - вот такsmile.gif

average := 0;
s_len := 0; n := 0;
p := list_head; { указатель на "голову" списка }
while p <> nil do begin
inc(n);
inc(s_len, length(p^.data));
p := p^.next;
end;
if n <> 0 then
average := s_len / n; { вот тебе средняя длина строки... }

Естественно, что элементами списка должны быть строки...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





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

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


2volvo:
Огромное спасибо, это то что нужно good.gif .

Еще один вопрос:
Как построить динамический список по словам находящимся в файле?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гость






Разбиение на слова. Все способы.

Это как раз со списком... Читаешь файл построчно и запускаешь для каждой строки GetWords... Можно еще проверять при внесении очередного слова, чтобы его не было в списке (если слова в списке не должны повторяться...)
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7





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

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


Задачу я решил, всем спасибо, отдельная благодарность volvo good.gif за предоставленную помощь...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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

 





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