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

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

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

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





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

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


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

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


Гость






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

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

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





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

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


Проблема в нахождении средней длины слов, точнее в програмной реализации этой процедуры.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.01.2006 17:44
Сообщение #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; { вот тебе средняя длина строки... }

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





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

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


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

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


Гость






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

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





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

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


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

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

 



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