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

Программа анализа текста - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ ООП. Классы, наследование, векторы http://www.cyberforum.ru/cpp-beginners/thread590248.html
Никак не пойму как реализовать наследование допустим есть базовый класс животных там различные функции class Beast { public: void Start_Beast(); void Spawn_Beast(); void Draw_Beast();...
C++ Замена слов в строке Можно ли как-то в строке например я хочу много делать много делать2 много делать3 Заменить все слова "много", как это сделать ? http://www.cyberforum.ru/cpp-beginners/thread590245.html
результатом вычисления фрагмента не является функция, принимающая 1 аргументов C++
проверьте пожалуйста ошибку выдает!!!( #include <iostream> #include <conio.h> #include <cmath> using namespace std; int main() { double S=0, SO=1,x=0.3; float eps=0.001;
C++ Создать двоичный файл
Необходимо написать и отладить две программы.Первая программа должна сформировать двоичный файл. Вторая – считать данные из этого файла, выполнить соответствующие вычисления (при этом ис-...
C++ Структуры http://www.cyberforum.ru/cpp-beginners/thread590233.html
Подскажите плиз. Я написала программу, которая создает текстовый док-т. а теперь мне надо обратится к этой структуре и взять из нее элемент для сравнения(наверно ответы должны быть типа int, но у...
C++ Сочетание из n по k Здравствуйте. У меня дан массив объектов класса, мне надо написать функцию, которая перебирает все возможные варианты сочетаний этих элементов. В функцию должны передаваться сам массив и число K(по... подробнее

Показать сообщение отдельно
8VAid8
14 / 14 / 2
Регистрация: 21.04.2012
Сообщений: 190

Программа анализа текста - C++

29.05.2012, 16:14. Просмотров 1216. Ответов 15
Метки (Все метки)

Имеется код.
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
#include <iostream>
#include <string>
#include <map>
#include <fstream>
 
using namespace std;
 
int main()
{
 
map <string,int> words;
ifstream in;
in.open("in.txt");
string word;
while (in>>word)
words[word]++;
ofstream out;
out.open("out.txt");
int count=0;
map <string,int>::iterator cur;
out<<"Words count:"<<endl;
for (cur=words.begin();cur!=words.end();cur++)
{out<<(*cur).first<<": "<<(*cur).second<<endl;count+=(*cur).second;}
out<<"Words percenc:"<<endl;
 
for (cur=words.begin();cur!=words.end();cur++)
out<<(*cur).first<<": "<<(float)((float)(*cur).second/(float)count)*100<<"%"<<endl;
 
return 0;
}
Нужно отсеять вывод так, чтобы в файле out находились только 20 наиболее встречающихся слов и колличество их использования.
С массивом мап не имел дела, так что прошу помощи!

Добавлено через 1 час 2 минуты
Так же нашёл код на шарпе.
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
using System;
using System.Linq;
using System.Text;
using System.IO;
 
class Program
{
    static void Main(string[] args)
    {
        char[] delimiters = Enumerable.Range(0, 127)
            .Select(Convert.ToChar)
            .Where(c => Char.IsWhiteSpace(c) || Char.IsPunctuation(c))
            .ToArray();
        string[] words = File.ReadAllText("E:\\matrix.txt", Encoding.Default)
            .Split(delimiters, StringSplitOptions.RemoveEmptyEntries);
        var pop = (from word in words
                                   let count = words.Count(w => w == word)
                                   orderby count descending
                                   select new { Word = word, Count = count })
                                   .Distinct().Take(20);
        foreach (var i in pop)
            Console.WriteLine("{0}: {1}", i.Word, i.Count);
    }
}
Но как его преобразовать?!...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru