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

Строки - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Простые числа, полученные от суммы элементов http://www.cyberforum.ru/cpp-beginners/thread896268.html
Задано множество S = {x1, x2, ..., xN} и целое K, необходимо подсчитать, сколько сумм S из K чисел в данном множестве являются простыми? Вводим 1)3(кол-во элементов в нашей строке) 2(кол-во элементов суммируемых) 2)3 7 5 - сами элементы Вывод 3. Я так понимаю, что эта функция находит те суммы элементов которые будут простыми, тоесть 7+3=10,3+5=8 и 7+5=12 т.как делятся только сами на себя и...
C++ Дописать код по алгоритму Здравствуйте, вроде бы, самое сложное уже сделано. осталось лишь дописать немного. помогите. #include <stdio.h> #include <iostream> using namespace std; const int n = 1018, N = n + 1; /* N = 1019 -- prime */ const int alpha = 2; /* generator */ const int beta = 5; /* 2^{10} = 1024 = 5 (N) */ http://www.cyberforum.ru/cpp-beginners/thread896265.html
c++ начинающий (пауза перед закрытием консольного окна) C++
Здравствуйте, дорогие форумчане! Я только начал знакомиться с c++ и возникает много мелких вопросов. Они несложные, но выводят меня из себя!)) Помогите, если не трудно! Есть программа: #include <iostream.h> void main(void) {
C++ Количество байт в переменной
Здравствуйте, помогите пожалуйста мне разобраться как сделать чтобы общее количество байт в переменной A равно sizeof(A). #include <iostream> using namespace std; template <class T> void print(T a) { unsigned char p = (unsigned char)a;
C++ Доделать и исправить ошибки в программе! http://www.cyberforum.ru/cpp-beginners/thread896251.html
Кодирование Хаффмана Нужно доделать и исправить ошибки в программе! По 11 варианту! См. приложения! Нужно перенести большую часть содержимого функции main в этот же класс, это не трудно, разделить процедуры по методам класса ( метод декодирования, запись статистики в файл и тд), переменные нужно разделить на несколько групп: которые используются всегда, и те которые используются в...
C++ Задача по STL (В строке текста, все числа, встречающиеся перевернуть, оставив на месте) В строке текста, все числа, встречающиеся перевернуть, оставив на месте. подробнее

Показать сообщение отдельно
Olivеr
 Аватар для Olivеr
411 / 407 / 13
Регистрация: 06.10.2011
Сообщений: 830
09.06.2013, 18:31     Строки
ChuckNorris,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include <iostream>
#include <algorithm>
#include <sstream>
#include <iterator>
 
int main()
{
    std::string text1(" Hello, world! Hello?world.;? ");
    std::string text2("Where?are you;going so early, Little Red Cap?");
    auto isDelim = [](char c){ return c == '.' || c == '?' || c == '!' || c == ';'; };
    std::replace_if( begin(text1), end(text1), isDelim, ' ' );
    std::replace_if( begin(text2), end(text2), isDelim, ' ' );
    std::istringstream ss( text1 );
    std::istream_iterator<std::string> it(ss);
    unsigned count1st = 1, count2nd = 1;
    while ( ++it != std::istream_iterator<std::string>() ) ++count1st;
    ss.str(text2);
    ss.clear();
    it = ss;
    while ( ++it != std::istream_iterator<std::string>() ) ++count2nd;
    std::cout << "count1st = " << count1st << std::endl << "count2nd = " << count2nd;
    return 0;
}
или по простому (как предложил Belfegor):
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
#include <string>
 
int main()
{
    std::string text = "Where?are you;going so early, Little Red Cap?";
    unsigned count = 0, word_len = 0;
 
    for (int i = 0; i != text.size(); ++i)
        if ( text[i]!=' ' && text[i]!='.' && text[i]!='?' && text[i]!='!' && text[i]!=';' )
            ++word_len;
        else {
            if (!word_len) continue;
            ++count;
            word_len = 0;
        }
 
    std::cout << count;
    return 0;
}
 
Текущее время: 20:55. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru