Форум программистов, компьютерный форум 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 минуту Мне, например,... подробнее

Показать сообщение отдельно
zitxbit
Master C/C++
 Аватар для zitxbit
86 / 738 / 75
Регистрация: 11.04.2012
Сообщений: 971
01.05.2012, 21:09     программа подсчитывающая число повторения в тексте
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
71
72
#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <ctype.h>
 
#include <iostream>
#include <fstream>
 
typedef struct words
{
    char* word;
    int count;
} WORDS;
 
using namespace std;
 
int main(void)
{
    static char text[256] = "\0";
    const char* filename = "d:\\input.txt";
    ifstream ifs(filename, ifstream::in);
    ifs.getline(text,256);
 
    int count = 0;
    for (int i = 0; text[i] != '\0'; i++)
        if ((isspace(text[i]) && isalpha(text[i-1])) 
            || i == strlen(text)-1) count++;
        
    WORDS* words = new WORDS[count]; int k = 0;
    for (char* word = strtok(text," "); 
        word != NULL; word = strtok(NULL," "))
    {
        words[k].count = 0;
        words[k].word = new char[256];
        strcpy(words[k++].word, word);
    }
 
    bool wfound = false;
    for (int q = 0; q < k; q++)
    {
        for (int p = q; p < k && words[p].count >= 0; p++)
            if (!strcmp(words[q].word, words[p].word))
                words[q].count++;
        do { 
            wfound = false;
            for (int m = q+1; m < k && words[m].count >= 0; m++)
                if (!strcmp(words[m].word, words[q].word))
                {
                    wfound = true;
                    for (int n = m; n < k; n++)
                        words[n] = words[n+1];
                    break;
                }
        } while(wfound);
    }
 
    for (int z1 = 0; words[z1].count >= 0; z1++)
        for (int z2 = z1+1; words[z2].count >= 0; z2++)
            if (words[z2].count > words[z1].count)
            {
                WORDS wdtemp = words[z2];
                words[z2] = words[z1];
                words[z1] = wdtemp;
            }
 
    for (int h = 0; words[h].count >= 0 && h < 3; h++)
        cout << words[h].word << " " << words[h].count << endl;
 
    _getch();
 
    return 0;
}
 
Текущее время: 02:34. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru