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

Найти повторения в строках - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ В пpоизвольном тексте найти и отпечатать все слова длиной 5 символов http://www.cyberforum.ru/cpp-beginners/thread690413.html
Так получилось, что тема массивов в этом году была урезана, и поэтому я еле-еле нацарапываю код для циферных массивов. Помогите с задачей, пожалуйста. Задача: В пpоизвольном тексте найти и отпечатать все слова длиной 5 символов. Я смог только начать #include <stdio.h> #include <conio.h> #include <locale>
C++ Почему программа возврашает только 1 значение слов в string? Программа должна считать количество слов - но всегда пишет только 1. #include <iostream> #include <string> using namespace std; http://www.cyberforum.ru/cpp-beginners/thread690410.html
как отключить перезапись файла? C++
void outputMassiv (int *arr, int Nr) { ofstream outfile; outfile.open("D:/stroka.txt"); for (int i=0; i<Nr; i++){ cout <<setw(4) << arr; outfile <<arr; outfile <<" "; outfile.close();}
Считывание по 4 символа из файла C++
Есть файл с примерны содержанием: 11000001111110000000000111111010101110 В файле находятся только 0 и 1. Нужно считать их по 4 символа в массив. Что то не приходит в голову как сделать? Через fseek? Если через него то как?
C++ перевернуть массив http://www.cyberforum.ru/cpp-beginners/thread690378.html
Есть символьный массив, сделать его реверс! #include <iostream> #include <string.h> using namespace std; int main() { char a; char x; gets(x); cout << endl;
C++ ошибка надо ввести обьект класса. не получается перегрузить istream для класса: #pragma once #include <iostream> using namespace std; class sport {private: char* name; long god; double Mrec; подробнее

Показать сообщение отдельно
Ptomaine
 Аватар для Ptomaine
13 / 13 / 0
Регистрация: 22.10.2011
Сообщений: 35
08.11.2012, 13:43     Найти повторения в строках
Ну, или так:

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
#include <iostream>
#include <string>
#include <map>
 
int main()
{
    std::string str("    den horoshii     segodnya, a    zavtra  plohoi den   ");
 
    std::string::iterator it(str.begin()), end(str.end()), prev(it);
    std::map<std::string, long> words;
 
    while(it != end && !std::isalnum(*it)) { ++it; ++prev; }
 
    for (; it != end; ++it)
        if (!std::isalnum(*it))
        {
            ++words[std::string(prev, it)]; prev = it;
 
            while(it != end && !std::isalnum(*it)) { ++it; ++prev; }
 
            if (it == end) break;
        }
 
    if (prev != it) ++words[std::string(prev, it)];
 
    for (std::map<std::string, long>::iterator wit(words.begin()), wend(words.end()); wit != wend; ++wit)
        if ((*wit).second > 1)
            std::cout << "word: '" << (*wit).first << "'; count: " << (*wit).second << std::endl;
 
    return 0;
}
 
Текущее время: 03:53. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru