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

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Анализатор текстов, Частотный, семантический анализ текстов
сообщение
Сообщение #1


Новичок
*

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

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


Коллеги, есть ли какие-нибудь исходники по обработке текстовых файлов.
Обработка блоков тестков разделенных набором символов.
Поиск слов (словосочетаний) в этих блоках. Подсчет частоты встречаемости.
Работа с лексемами и т.д.
Жду Ваших предложений unsure.gif
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Новичок
*

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

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


Спасибо за inc(j).
Вот, что у меня получилось:

program RFP;

const
source='data.txt';
file2='filt2.txt';
vocab='vocabul.txt';


var
symb1:char;



procedure file_preprocess(file1_,file2_:string);

var

sourf,res:text;
symb:char;


begin {0}

assign (sourf,file1_);
reset(sourf);

assign (res,file2_);
rewrite (res);

while not eof (sourf) do
begin {1}

while not eoln (sourf) do
begin {2}

read (sourf,symb);

if (ORD(symb)>=65) and (ORD(symb)<=90) OR
(ORD(symb)>=97) and (ORD(symb)<=122) then
begin {33}
if (ORD(symb)>=65) and (ORD(symb)<=90) then
write (res, chr(ord(symb)+32))
else write (res, symb);
end {33}
else
begin {11}
if (ORD(symb)=38) then write (res, symb)
else
begin {22}
writeln (res);
{writeln (res, symb);}
end; {22}

end; {11}


end; {2}
readln (sourf);
writeln(res);
end; {1}
close (sourf);
close (res);
end; {0}

{===========================================================}
{ Выделение всех уникальных элементов в массиве }
{ (создание частотного словаря текста) }
{===========================================================}

procedure create_vocabulary (file1_:string);


var
bufer: array[1..7000] of string [30]; {Здесь у меня ПРОБЛЕМА.
ЧТО можно сделать чтобы можно было поставить, например, 100 000???}

str1,stroka: string;
f,voc: text;
schetchik,i,j,k:integer;

begin



i:=0;

assign (f,file1_);
reset(f);



while not eof (f) do
begin {1}

readln (f,stroka);

if stroka<>'' then
begin
inc(i);
bufer[i]:=stroka
end;
end; {1}

close (f);


assign (voc,vocab);
rewrite(voc);

j:=1;

while j<=i do
begin {2}
if bufer[j]<>'' then
begin {3}
stroka:=bufer[j];
schetchik:=0;
for k:=1 to i do
begin {4}
if stroka=bufer[k] then
begin

bufer[k]:='';
inc(schetchik);

end;

end; {4}

str(schetchik,str1);
stroka:=concat(stroka,' ............... ',str1);
writeln (voc,stroka);

end; {3}
inc(j);
end; {2}




close (voc);

end;


begin
file_preprocess(source,file2);
create_vocabulary (file2);
end.


Теперь у меня проблема с размерностью массива.
Не могу его увеличить даже до 8000 - при таком размере комп не выдает результатов. HELP unsure.gif


Прикрепленные файлы
Прикрепленный файл  data.txt ( 1.49 килобайт ) Кол-во скачиваний: 377
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
ProtasSoft   Анализатор текстов   23.08.2005 20:27
volvo   Здесь посмотри, кое-что было: Частотный словарь Ес…   23.08.2005 20:37
ProtasSoft   Есть текстовый файл с текстом, состоящием из отдел…   23.08.2005 20:58
ProtasSoft   Можно ли скопировать один текстовый файл в другой …   26.08.2005 17:27
volvo   Нет. Читай здесь: FAQ: Файлы - Копирование файлов   26.08.2005 18:39
ProtasSoft   все компилируется, но результата нет. подскажите г…   26.08.2005 22:02
volvo   Я не знаю, что именно ты задумывал в этой программ…   26.08.2005 22:31
ProtasSoft   После внесения исправлений результирущих файлов по…   27.08.2005 13:38
volvo   Ну, так что, мы по прежнему должны ДОГАДЫВАТЬСЯ, ч…   27.08.2005 15:28
ProtasSoft   В качестве содержимого data.txt может быть любой т…   27.08.2005 17:34
volvo   И ты хочешь сказать, что при запуске программы с м…   27.08.2005 19:01
ProtasSoft   Спасибо за inc(j). Вот, что у меня получилось: pr…   27.08.2005 21:39
volvo   Я еще в посте №7 сказал, что это надо было сделать…   27.08.2005 22:23
ProtasSoft   :flowers: Огромное спасибо за помощь. Следуя Ваши…   30.08.2005 15:15


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

 





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