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

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

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

> Задача на частотный анализ текстового файла
сообщение
Сообщение #1


Гость






Собственно, условие подобной задачи (олимпиадской) на форуме приводилось (решение - нет):
Привожу еще раз условие:
Дан текст, в котором встречаются слова, состоящие из букв русского и латинского алфавитов и цифр, знаки препинания, пробелы и переводы строк. Требуется найти количество вхождений каждого слова в этот текст Для каждого слова при выводе в скобках указать количество его вхождений в текст.
*************************************************************************
Понятно, что решение надо делать через двоичное дерево. Часть программы есть, но не допру, как дальше:
uses
crt;
type
{ссылка на узел дерева}
TFindTreePtr = ^TFindTreeNode;
TFindtreeNode = record
info: word;
count: integer;
left, right: TFindTreePtr;
end;
var
InFile: Text; {исходный файл}
FileName: string; {имя файла данных}
root: TFindTreePtr;
str: word; {текущий обрабатываемое слово}
ErrCode: integer; {код ошибки при открытии файла}
ask: char; {символ-отклик при выборе режима вывода}
procedure Search (c: string; var node: TFindTreePtr);
begin
if node=nil then begin
node:=New(TFindTreePtr);
node^.info:=c;
node^.count:=1;
node^.left:=nil; {новый лист}
node^.right:=nil;
end
else if c< node^.info then
Search (c,node^.left)
else if c>node^.info then
Search (c,node^.right)
else
node^.count := node^.count+1;
end;

 К началу страницы 
+ Ответить 

Сообщений в этой теме
Winniepoohless   Задача на частотный анализ текстового файла   31.01.2008 21:44
klem4   type PTInfo = ^TInfo; TInfo = Record _wo…   31.01.2008 22:20
Winniepoohless   Спасибо огромное! Буду разбираться :)   31.01.2008 22:46
Michael_Rybak   Мне это совсем непонятно. Ее нужно делать через …   31.01.2008 22:57
klem4   Да, кстати, двоичных деревьев в решении я не испол…   31.01.2008 23:02
Winniepoohless   Да, кстати, двоичных деревьев в решении я не испо…   1.02.2008 20:35
volvo   Winniepoohless, вопрос на засыпку: слова 'При…   31.01.2008 23:06
Winnipoohless   Да, "Привет" и "привет" считаю…   1.02.2008 20:10
klem4   volvo, ага чо-то намудрил я мальца в этом месте ..   31.01.2008 23:09
volvo   Естественно. Тогда придется хранить не сами слова,…   1.02.2008 20:16
Гость   Естественно. Тогда придется хранить не сами слова…   1.02.2008 20:37
Yevgeny   Посмотри вот в эти места в программе и разберись…   1.02.2008 20:45
Winniepoohless   Посмотри вот в эти места в программе и разберись.…   1.02.2008 21:01
volvo   Это не классификация ошибки... Что именно не идет?…   1.02.2008 21:34
Winniepoohless   Это не классификация ошибки... Что именно не идет…   4.02.2008 18:13


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

 





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