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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Создать динамический 2-мерный массив, заполнить его случайным образом, сортировать столбцы по возрастанию их суммы http://www.cyberforum.ru/cpp-beginners/thread268692.html
Создать динамический 2-мерный массив, заполнить его случайным образом, сортировать столбцы по возрастанию их суммы. Именуйте темы осмысленно. Название темы должно максимально полно отражать ее содержимое.
C++ Найти количество вхождений подстрок в строку Собственно, в input.txt лежит строка размером до 250 символов, в output.txt нужно найти количество вхождений в нее подстрок, а именно ">>->" и "<-<<". Вроде задача пустяковая, но разобраться не могу.. Пробовал делать strstr до тех пор, пока подстрока не перестанет встречаться(найденный фрагмент удалял), однако такой алгоритм не подошел, неверно находилось количество вхождений.. P.S. можно... http://www.cyberforum.ru/cpp-beginners/thread268686.html
C++ StringGrid - условия выбора
Три месяца как стал программистом на С++ ... и тут уперся в вопрос. В СтрингГриде 4 столбца и 16 строк. При запуске программы выглядит все примерно так: ____1___2____3____4__ 1_____|____|____|4::1 | 2_____|____|____|4::2 | . 16____|____|____|4::16|
C++ Замена цвета определенной ячейки StringGrid
Подскажите как имея координаты ячейки в StringGrid изменить ее цвет, в стандартных функциях инспектора объектов не нашел, но это и понятно.
C++ Шаблоны функций http://www.cyberforum.ru/cpp-beginners/thread268652.html
не совсем понимаю, как работают шаблоны функций , в учебнике только дан пример и не объяснено ниче( САма программа готовая есть, надо переделать с шаблонами но не знаю как #include<iostream.h> template<class T> T max(T *a, int m, int n); int nuts(int **a, int m, int n); int nuts1(int **a, int m, int n); int main() {
C++ Доступ к приватным членам доброго времени суток подскажите как мне правильно реализовать доступ. Есть класс в нём приватными членами являются указатель на char делая функции Set/Get с Sеt все нормально, возникает вопрос с Get хочется написать по глупому char * GetSome() { return Some;//Some типа char * } но это ведь будет ошибка так как some приватное поле и если мы вернем указатель на него то сможем его... подробнее

Показать сообщение отдельно
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
02.04.2011, 13:33     Определить сколько раз слова встречаются в тексте и сколько непосредственно друг за другом.
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
#include<iostream>
#include<vector>
#include<fstream>
#include<algorithm>
#include<sstream>
#include<cctype>
#include<windows.h>
#include<string>
#define DEBUG false
 
int main(){
    char text[1024], oem[sizeof(text)], word1[20], word2[20];
    std::cout<<"vvedite slovo 1\n";
    std::cin>>word1;
    std::cout<<"vvedite slovo 2\n";
    std::cin>>word2;
    std::fstream fs("2.txt");
    if(!fs){std::cerr<<"File not found\n"; return 1;}
    fs.getline(text, sizeof(text), '\0');
    #if DEBUG
        CharToOem(text, oem);
        std::cout<<oem<<"\n";
    #endif
    for(char *p=text; *p; ++p){
        if(!(*p>='А'&&*p<='я'||*p=='Ё'||*p=='ё'||isalpha(*p))) *p=' ';
        else if(*p>='А'&&*p<='Я') *p+=32;
        else if(*p=='Ё')*p='ё';
        else if(isupper(*p)) *p=tolower(*p);
    }
    CharToOem(text, oem);
    #if DEBUG
        std::cout<<oem<<"\n";
    #endif
    std::stringstream ss(oem);
    std::vector<std::string> v;
    while(ss>>oem) v.push_back(oem);
    std::cout<<"vsego: "<<std::count_if(v.begin(), v.end(), [&](std::string val){return val==word1||val==word2;})<<"\n";
    int cou_adj=0;
    #if DEBUG
        for(int i=0; i<v.size(); i++){
            std::cout<<v[i]<<"\n";
        }
    #endif
    for(auto it=v.begin(); it!=--v.end(); ++it){
        if(*it==word1&&*(it+1)==word2||*it==word2&&*(it+1)==word1) ++cou_adj;
    }
    std::cout<<"ryadom: "<<cou_adj<<"\n";
}
 
Текущее время: 00:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru