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

программа подсчитывающая число повторения в тексте - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить площадь круга для радиусов: r=5; r=10;r=15. http://www.cyberforum.ru/cpp-beginners/thread562760.html
вычислить площадь круга для радиусов: r=5; r=10;r=15. вычислить площадь круга оформить в виде функции...заранее спасибо
C++ vector Объявляю двумерный массив следующим образом: vector< vector <int> > m_Mas; Как в таком случае нужно добавлять элементы и обращаться к ним? http://www.cyberforum.ru/cpp-beginners/thread562751.html
Создать класс Triad (тройка чисел); определить методы изменения полей и вычисления суммы чисел. C++
Создать класс Triad (тройка чисел); определить методы изменения полей и вычисления суммы чисел. Определить производный класс Triangle с полями-сторонами. Определить методы вычисления углов и площади треугольника.
теоретический вопрос про kernel32.dll C++
читал "путеводитель по написанию вирусов", и возник вопрос. Там в книге есть инфа о поиске базе kernel32(в стеке у нас есть адрес возврата, то есть где то в kernel32) вот мне интересно это системный kernek32, тот который выполняется на уровне ядра? если да, то как системный kernel32 взаимодействует с функцией CreateProcess которую вызывает какое либо приложение?
C++ Вычисление номера строки матрицы, в которой находится минимальный элемент http://www.cyberforum.ru/cpp-beginners/thread562739.html
задание - дан массив размера 6 x 2 с элементами вещественного типа. Написать программу для вычисления номера строки, в которой находится минимальный элемент массива.
C++ Как прочитать из бинарного файла тип НЕ *char Понимаю, что ответ где-то на поверхности, но я уже задолбался искать. Гугл и все справочники, в которых я читал о функции read, приводят такой пример: memblock = new char ; file.read (memblock, size); это все понятно, но как мне считать из бинарного файла значения в переменную, которая не является char'ом??? Никак не могу найти, как это сделать. Добавлено через 1 минуту Мне, например,... подробнее

Показать сообщение отдельно
vds555
1 / 1 / 1
Регистрация: 24.10.2011
Сообщений: 26

программа подсчитывающая число повторения в тексте - C++

01.05.2012, 14:29. Просмотров 1466. Ответов 1
Метки (Все метки)

Доброго времени суток!
Уважаемые участники форума, возникла следующая проблема: к данной задаче создать файл
не получается из-за использования в ней функции, не компилируется , любой помощи буду благодарен

Задача:Одним из способов идентификации автора литературного произведения – подсчет частоты вхождения отдельных слов. В заданном тексте найти 20 наиболее часто встречающихся слов с указанием количества использования каждого из них.
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
#include <stdio.h>
#include <string.h>
 
#define MAX_WORDS 100
#define DELIM " \t\n,.:;!?"
 
int split(char* str, char** tok);
int unique(char** arr, int size);
 
int main()
{
    const char text[] = "is This is my test text text. This text about split This split. Split is cool is is";
    char buf[255];
    strcpy(buf, text);
 
    char* unique_token[MAX_WORDS];
    int words = split(buf, unique_token);
    int i = 0, 
        new_size = unique(unique_token, words);
 
    strcpy(buf, text);
    char* token[MAX_WORDS];
    split(buf, token);
    for (; i < new_size; ++i)
    {
        int j = 0, count = 0;
        for (; j < words; ++j)
        {
            if (!strcmp(token[j], unique_token[i]))
                ++count;
        }
        printf("%s\t-\t%d\n", unique_token[i], count);
    }
 
    getchar();
    return 0;
}
 
int split(char* str, char** token)
{
    int tokens = 0;
    char* ptr = strtok(str, DELIM);
    for (; ptr != NULL; ptr = strtok(NULL, DELIM), ++tokens)
    {
        token[tokens] = ptr;
    }
    return tokens;
}
 
int unique(char** arr, int size)
{
    int i, j;
    for (i = 0; i < size; ++i)
    {
        for (j = 0; j < size; ++j)
        {
            if (i != j && !strcmp(arr[i], arr[j]))
            {
                int t = j;
                --size;
                for (; t < size; ++t)
                {
                    arr[t] = arr[t + 1];
                }
                arr[++t] = NULL;
            }
        }
    }
    return ++size;
}
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 21:52. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru