Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 09.04.2014, 16:57   #1
Viktorionchik
 
Регистрация: 29.03.2014
Сообщений: 5
По умолчанию Работа с файлами (Pascal)

Дан символьный файл f, содержащий произвольный текст длинной 500 слов. Слова в тексте разделены пробелами и знаками препинания. Получить 10 наиболее часто встречающихся слов и число их появления.

//можно в принципе это сделать для текста любой длинны и искать 1 наиболее повторяющее слово с число его повторений
Viktorionchik вне форума Ответить с цитированием
Старый 09.04.2014, 21:50   #2
Streletz
Старожил
 
Регистрация: 03.01.2014
Сообщений: 2,870
Вопрос

Самостоятельные попытки были?
Streletz вне форума Ответить с цитированием
Старый 10.04.2014, 15:42   #3
Viktorionchik
 
Регистрация: 29.03.2014
Сообщений: 5
По умолчанию

Да, если код программы, но она некорректно работает((

Код:
const mn=[' ', ',', '.', '!', '?'];
var a:array[1..100] of string;
    b:array[1..100] of byte;
    i,j,n,t1:byte;
    s,s1,t2:string;
    f:text;
    
BEGIN
  assign(f,'in.txt');reset(f);
  while not Eof(f) do
  begin
   readln(f,s);
   s:=s+' ';s1:='';
   For i:=1 to length(s) do
     if not(s[i] in mn) then s1:=s1+s[i] else
     begin
     if s1<>'' then
        begin
        inc(n);
        a[n]:=s1;
        end;
        s1:='';
     end;
   end;
  for i:=1 to n do
  for j:=i+1 to n do
  if a[i]=a[j] then inc(b[i]);
 
  for i:=n downto 2 do
  for j:=2 to i do
  if b[j]>b[j-1] then
 
   begin
   t1:=b[j];
   b[j]:=b[j-1];
   b[j-1]:=t1;
 
   t2:=a[j];
   a[j]:=a[j-1];
   a[j-1]:=t2;
   end;
 
 for i:= 1 to 10 do
 writeln(a[i]);

close(f);
END.
Viktorionchik вне форума Ответить с цитированием
Старый 10.04.2014, 16:45   #4
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Значит не было.
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 10.04.2014, 17:59   #5
Vanta11a
Lawful Evil
Участник клуба
 
Аватар для Vanta11a
 
Регистрация: 13.05.2008
Сообщений: 1,208
По умолчанию

Тупо в лоб: массив
Код:
type my_type = record
  word:string;
  count:integer;
end;
array [1..500] of my_type;
И для каждого слова - проверка на наличие в массиве. Нет слова - вписал в массив, счетчик на +1, побежали дальше.
Алгоритм - бесплатен. Поиск багов - бесплатен. Реализация алгоритма - за отдельную плату.
На форуме помогают советами и объясняют, а не пишут на халяву программы, лабы, курсачи и т.д. (c)
Vanta11a вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
работа с файлами(pascal) wrt Помощь студентам 5 17.03.2013 19:56
Работа с файлами (Pascal) Defunkt Помощь студентам 1 21.12.2011 20:38
Pascal работа с файлами A.S.W Помощь студентам 1 07.01.2010 19:01
Работа с файлами в Pascal Fellics{новичок} Помощь студентам 1 16.12.2009 10:20