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

строка содержащая более одного слова - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Двумерный массив http://www.cyberforum.ru/cpp-beginners/thread206745.html
По данной матрице построить вектор, элемент которого - номер максимального элемента соответствующего столбца исходной матрицы. Для элементов вектора подсчитать среднее арифметическое. Размерность матрицы не более, чем 15*20
C++ Матрица Помогите пожалуйста. Нужно написать прогу для С++ по задаче: Для матриццы размером n x m вычислить сумму элементов матрицы. Умножить на это число элементы k-той строки. Значение k вводится. Исходная матрица задается в виде двумерного массива случайным образом. Вывести на экран исходную и результирующую матрицу. http://www.cyberforum.ru/cpp-beginners/thread206742.html
C++ Вычисление произведения отрицательных элементов
Напишите фрагменты программ для решения следующих задач: 1)вычисление произведения отрицательных элементов в каждом столбце двумерного массива; 2)вычисление суммы положительных элементов в каждой строке двумерного массива.
C++ Бинарный файл ввод вывод
Учу С++ и еще в самом начале, но тут появилась задача... создать консольное приложение, с возможностью записи информации(int овые значения, массивы без знака конца строки, char-овые значения) в создаваемый программой бинарный файл, редактирования уже имеющегося бинарного файла. В этом файле данные записаны стого по структуре... Это выше уровня моих знаний на данный момент, но мне очень...
C++ 5 заданий http://www.cyberforum.ru/cpp-beginners/thread206733.html
Задание 1 Написать программу, которая определяет стоимость поездки на автомобиле, пользователь вводит километраж, расход на сто километров, стоимость одного литра бензина. Задание 2 Пользователь с клавиатуры вводит 5 оценок студента. Определить, допущен ли студент к экзамену. Студент получает допуск, если его средний балл 4 балла и выше. Задание 3 Написать программу, которая по...
C++ Перегрузка оператора ввода ">>" нужно перегрузить оператор ввода для класса Comp? перегрузил, но выдается ошибка error C2248: 'std::basic_ios<_Elem,_Traits>::basic_ios' : cannot access private member declared in class 'std::basic_ios<_Elem,_Traits> при переходе к месту ошибки показывается следующий код в файле istream private: streamsize _Chcount; // the character count }; мой код: class Comp подробнее

Показать сообщение отдельно
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
19.12.2010, 00:42     строка содержащая более одного слова
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
#include <iostream>
#include <string>
#include <sstream>
#include <iterator>
#include <vector>
 
size_t get_cnt_symbol(std::string &str)
{
    size_t cnt_prob = 0;
 
    for(std::string::iterator it = str.begin(); it != str.end(); ++it)
        if(*it == ' ')
            ++cnt_prob;
 
    return str.length() - cnt_prob;
}
 
bool foo(std::string &str)
{
    std::string del(" ,.!?:;"), tmp;
    std::vector<std::string> vec;
 
    for(std::string::iterator it = str.begin(); it != str.end(); ++it)
        if(del.find(*it) != std::string::npos)
            *it =' ';
 
    std::istringstream ist(str);
    while(ist >> tmp)
        vec.push_back(tmp);
 
    size_t cnt = 0, i = 0, j = 0;
    std::vector<std::string>::iterator it, _it;
    for(it = vec.begin(); it != vec.end(); ++it, ++i)
    {
        std::string tmp = *it, _tmp;
        for(_it = it; _it != vec.end(); ++_it, ++j)
        {
            _tmp = *_it;
            if(tmp.length() == _tmp.length())
                ++cnt;
        }
    }
 
    return cnt - 3 >= 1? true : false;
}
 
size_t get_cnt_zap(std::string &str)
{
    size_t cnt = 0;
    for(std::string::iterator it = str.begin(); it != str.end(); ++it)
        if(*it == ',')
            ++cnt;
 
    return cnt;
}
 
int main()
{
    std::string str;
    std::cout << "Input string: ";
    getline(std::cin, str);
 
    std::cout << "\na) -> " << get_cnt_symbol(str)
              << "\nb) -> " << ( foo(str)? "Yes" : "No")
              << "\nc) -> " << get_cnt_zap(str) << std::endl;
 
    return 0;
}
 
Текущее время: 23:51. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru