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

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

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

> Прога про текстовый файл, Пожалуйста, помогите кто-нибудь!!!
сообщение
Сообщение #1





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

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


Вот задали такую задачку:
В текстовом файле записаны слова. Определить, сколько раз встречается каждое слово и вывести в обратном порядке.
Прошу выслать код mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

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

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


Цитата
В текстовом файле записаны слова. Определить, сколько раз встречается каждое слово и вывести в обратном порядке.

Ну если надо определить сколько раз встречается каждое слово, а не количиство разных слов, то вот...
uses crt;
type
mas= array[1..100] of string[25];
const path='d:\temp.dat';

procedure create_file(s:string);
var t:text;
temp:string;
begin
temp:='ab bc c c km b';
assign(t,s);
rewrite(t);
writeln(t,temp);
close(t);
end;

function take_array(s:string; var ar:mas):integer;
var f:text;
i:integer;
ch:char;
begin
assign(f,s);
reset(f);
i:=1;
while not eof(f) do
begin
read(f,ch);
if (ch=' ') or (ch=#13) then
inc(i)
else
ar[i]:=ar[i]+ch;
end;
close(f);
take_array:=i;
end;

procedure num_dif(ar:mas; n:integer);
var i,j,num:integer;
begin
num:=0;
for j:=1 to n do
begin
for i:=1 to n do
if ar[j]=ar[i] then inc(num);
writeln(j,' word ',num,' times - ',ar[j]);
num:=0;
end;
end;

procedure inverse(ar:mas; n:integer);
var i:integer;
begin
for i:=n downto 1 do
writeln(ar[i]);
end;

var ar:mas; num:integer;
begin
create_file(path);
num:=take_array(path,ar);
clrscr;
num_dif(ar,num);
readln;
clrscr;
inverse(ar,num);
readln;
end.


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





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

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


Цитата(Bokul @ 7.06.2006 3:00)
Ну если надо определить сколько раз встречается каждое слово, а не количиство разных слов, то вот...

BOKUL, у меня к Вам есть некоторые вопросы по коду. Что это означает?
"const path='d:\temp.dat';"
"temp:='ab bc c c km b';"
"if (ch=' ') or (ch=#13) then
inc(i)
else
ar[i]:=ar[i]+ch;"

"procedure num_dif(ar:mas; n:integer);"(что она делает?)


а почему не выводит в обратнои порядке?


а, всё - догнал - работает!
тока не пойму - как убрать последнюю строку "8 word 1 times - " . То есть при выводе всех слов последняя строка не заполнена - она не нужна - как её удалить?

а если ещё и по частоте появления вывести, сильно муторно? если не трудно - черканите. буду очень признателен!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
avaness   Прога про текстовый файл   5.06.2006 23:33
Гость   Вобщем я бы делал так uses crt; const n=10;{koli4…   6.06.2006 3:38
volvo   Гость, а Определить, сколько раз встречается кажд…   6.06.2006 3:52
Egor   Ага прошу прощенья.Значит по поводу того как распо…   6.06.2006 3:57
avaness   Ага прошу прощенья.Значит по поводу того как расп…   6.06.2006 10:24
avaness   спасибо, что не оставили мою проблему без внимани…   6.06.2006 18:25
Bokul   Ну если надо определить сколько раз встречается к…   7.06.2006 7:00
avaness   Ну если надо определить сколько раз встречается ка…   7.06.2006 9:10
avaness   комментарии бы не помешали мне...   7.06.2006 9:33
avaness   а как добавить процедуру, чтобы она выводила слова…   7.06.2006 21:58
volvo   avaness, ты знаешь, я тут вспомнил об одной програ…   7.06.2006 22:35
avaness   volvo, я фигово шарю в этих кодах. я ты не можешь …   7.06.2006 22:46
Bokul   Пишешь процедуру и потом вызываешь ее в основной …   8.06.2006 8:58
avaness   успеть-то успел... но прогу забраковал препод (тип…   8.06.2006 17:31
volvo   прогу забраковал препод (типа - "не универсал…   8.06.2006 21:31
avaness   Ага... А завтра тебе твой препод скажет, что и эт…   8.06.2006 23:23


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

 





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