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

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

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

> Задача на Список, Помогите пожалуйста
сообщение
Сообщение #1





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

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


Задача состоит в чтении некоторого текста, выборе из него слов и подсчете частоты их появления, то есть, в составлении частотного словаря. Для чего нужно составить список слов, найденных в тексте. Каждое очередное слово, прочитанное в тексте, ищется в списке. Если слово найдено, то счетчик его частоты увеличивается, в противном случае слово добавляется к списку.Предполагается, что слова уже выделены из исследуемого текста
и находятся во входном файле.

Что -то я никак не могу сообразить. cray.gif Помогите пожалуйста, если не трудно. Заранее, большое спасибо!!!!

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


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

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

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


разберешься ?

type
PTListElem = ^TListElem;

TListElem = record
data: String;
count: Integer;
next: PTLIstElem
end;

PTList = ^TList;

TList = object
head, last: PTListElem;

constructor Create;
destructor Free;

function Empty: Boolean;

procedure Push(const value: String);
procedure Pop(var value: TListElem);

procedure PrintList;
end;

constructor TList.Create;
begin
head := nil;
last := nil;
end;

destructor TList.Free;
var
T: PTListElem;
begin
while not Empty do begin
T := head;
head := head^.next;
dispose(T);
end;
end;

function TList.Empty: Boolean;
begin
Empty := head = nil;
end;

procedure TList.Pop(var value: TListElem);
var
T: PTListElem;
begin
if not Empty then begin
T := head;
head := head^.next;
value := T^;
dispose(T);
end;
end;

procedure TList.Push(const value: String);
var
R, first: PTListElem;
begin
first := head;

while (head <> nil) and (head^.data <> value) do
head := head^.next;

if head <> nil then begin
inc(head^.count);
head := first;
end else begin
new®;

R^.data := value;
R^.count := 1;
R^.next := nil;

head := first;

if Empty then begin
head := R;
last := head;
end else begin
last^.next := R;
last := R;
end;
end;

end;

procedure TList.PrintList;
var
T: TListElem;
begin
while not Empty do begin
Pop(T);
writeln(T.data, ': ', T.count);
end;
end;

var
list: PTList;

begin
new(list, Create);

list^.Push('asd');
list^.Push('asd');
list^.Push('123');
list^.Push('qwerty');
list^.Push('asd');
list^.Push('123');
list^.Push('poiuytrewq');
list^.Push('asd');

list^.PrintList;

dispose(list, Free);
end.


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





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

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


Спасибо, попробую разобраться. smile.gif Но, когда попробовал запустить выдал ошибку.

Эта ошибка как я заметил, появляется в крупных программах. mad.gif Что это за ошибка и как от неё избавиться!!??

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


Прикрепленные файлы
Прикрепленный файл  1.bmp ( 79.02 килобайт ) Кол-во скачиваний: 436
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

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


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

 





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