Форум программистов, компьютерный форум CyberForum.ru

Определить частоту появления в тексте каждого слова - C++

Восстановить пароль Регистрация
 
gabrierro
Сообщений: n/a
07.05.2011, 19:06     Определить частоту появления в тексте каждого слова #1
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#include <conio.h>
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
main()
{
      char tekst[234][18];
      char buf[234][18];
      char buf2[234][18];
      int i,i2,c,c2,counter=1;
      FILE *cfPtr;
      FILE *cPtr;
      cPtr=fopen("Frequency.txt","w");
      cfPtr=fopen("Faculty.txt","r");
      
      for(i=0;i<=233;i++){                 
         fscanf(cfPtr,"%s",buf[i]);
         
         for(i2=0;i2<=strlen(buf[i])+1;i2++)
            if(isalpha(buf[i][i2]))
               tekst[i][i2]=buf[i][i2];
            else
               tekst[i][i2]='\0';
               
         for(i2=0;i2<=strlen(tekst[i]);i2++)
            tekst[i][i2]=tolower(tekst[i][i2]);
      //printf("%s ", tekst[i]);
      }
      for(c=0;c<=233;c++){
        for(c2=0;c2<=233;c2++)
        
           if(strcmp(tekst[c],tekst[c2+1])==0){                                 
              counter++;
              if(strcmp(tekst[c],buf2[c2])==0)
                 strcpy(buf2[c], tekst[c]);
              } 
              
           printf("\nFrequency of \"%s\" = %d",buf2[c],counter);
           fprintf(cPtr,"\nFrequency of \"%s\" = %d",buf[c],counter);
           counter=0;
      }
      getch();
      fclose(cfPtr);
      fclose(cPtr);
}
программа считывает из фаила текст на английском обрабатывает его и записывает в фаил frequency частоту появления в тексте каждого слова. я не могу записать их так чтобы они не дублировались. то есть если слово "of" в тексте встречается 13 раз то в фаиле строчка "Frequency of "of" =13" будет записана 13 раз.

помогите пожалуйста, уже неделю не могу сообразить
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
07.05.2011, 19:06     Определить частоту появления в тексте каждого слова
Посмотрите здесь:

C++ Найти частоту появления букв в строке
C++ В заданном текстовом файле подсчитать частоту использования каждого слова из словаря (другого текстового файла).
Как подсчитать вероятность появления каждого символа в тексте. C++
Строка: посчитать частоту появления каждого символа C++
C++ Массивы. Найти частоту появления каждого из m элементов, наиболее часто встречающиеся (m << n) в процентах
C++ Найти частоту появления согласных букв в строке
C++ Вывести все слова из файла в алфавитном порядке, указать частоту каждого слова

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mиxaил
 Аватар для Mиxaил
530 / 435 / 37
Регистрация: 10.12.2009
Сообщений: 1,857
07.05.2011, 19:25     Определить частоту появления в тексте каждого слова #2
попробуй хранить слова в массиве, или другом файле... Так проще проверять на повторение.
gabrierro
Сообщений: n/a
08.05.2011, 15:48     Определить частоту появления в тексте каждого слова #3
так они у меня и хранятся в массиве, я не могу понять как проверить на повторение, я перепробовал кучу цыклов я похоже не могу понять алгоритм

Добавлено через 19 часов 21 минуту
help
Yandex
Объявления
08.05.2011, 15:48     Определить частоту появления в тексте каждого слова
Ответ Создать тему
Опции темы

Текущее время: 09:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru