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

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

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

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





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

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


Вот задали такую задачку:
В текстовом файле записаны слова. Определить, сколько раз встречается каждое слово и вывести в обратном порядке.
Прошу выслать код mega_chok.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
Bokul
сообщение 7.06.2006 3:00
Сообщение #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 
 К началу страницы 
+ Ответить 
avaness
сообщение 7.06.2006 5:10
Сообщение #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 19:33
Гость   Вобщем я бы делал так uses crt; const n=10;{koli4...   5.06.2006 23:38
volvo   Гость, а Определить, сколько раз встречается кажд...   5.06.2006 23:52
Egor   Ага прошу прощенья.Значит по поводу того как распо...   5.06.2006 23:57
avaness   Ага прошу прощенья.Значит по поводу того как расп...   6.06.2006 6:24
avaness   спасибо, что не оставили мою проблему без внимани...   6.06.2006 14:25
Bokul   Ну если надо определить сколько раз встречается к...   7.06.2006 3:00
avaness   Ну если надо определить сколько раз встречается ка...   7.06.2006 5:10
avaness   комментарии бы не помешали мне...   7.06.2006 5:33
avaness   а как добавить процедуру, чтобы она выводила слова...   7.06.2006 17:58
volvo   avaness, ты знаешь, я тут вспомнил об одной програ...   7.06.2006 18:35
avaness   volvo, я фигово шарю в этих кодах. я ты не можешь ...   7.06.2006 18:46
Bokul   Пишешь процедуру и потом вызываешь ее в основной ...   8.06.2006 4:58
avaness   успеть-то успел... но прогу забраковал препод (тип...   8.06.2006 13:31
volvo   прогу забраковал препод (типа - "не универсал...   8.06.2006 17:31
avaness   Ага... А завтра тебе твой препод скажет, что и эт...   8.06.2006 19:23


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

 



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