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

Количество слов в строке - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Динамический массив символов (строка) http://www.cyberforum.ru/cpp-beginners/thread816550.html
функция для удаления четных слов с динамического массива символов. Но она делает все правильно, если в строку ввести нечетное количество слов. Но если ввести четное, то где то происходит зацикливание. Помогите, а то уже башка не варит. void Stringg (char* s, int n) { for (int i = 0; i < n; i++) { if ((isspace(s) != 0)&&(isspace(s)==0)) { ...
C++ Перевод в систему счисления числа с типом char Всем привет. Задача: ввести число в переменную с типом char и перевести его в 2-ю систему счисления. Когда ввожу числа от 1 до 9, то все нормально - переводит, а если введу число например 28 или 153 - то оно переводит только первую цифру, а не все число сразу. Объясните пожалуйста что я не так делаю. #include <iostream> using namespace std; void main(void) http://www.cyberforum.ru/cpp-beginners/thread816547.html
C++ почему оно работает?
Есть простой пример - может кто-то сказать почему он работает? #include<iostream> using namespace std; class A { public: void f(void)
Умножение / транспонирование матриц C++
Написал программу , в ней две функции: одна для транспонирования, другая для перемножения матриц. Обе возвращают указатели на массив указателей на массив (чтобы как-то вывести массив из функции). Функция transpose нормально возвращает транспонированную матрицу, но функция multiply возвращает матрицу ( ну т. е. указатель) , в которой почему-то только элементы с индексами 1/3 2/3 3/3 нормальные ,...
C++ нужно составить меню к программе http://www.cyberforum.ru/cpp-beginners/thread816529.html
/*Написать программу, которая выполняет следующие действия: • вводит с клавиатуры данные в массив, состоящий из десяти структур; записи должны быть размещены по алфавиту; • выводит на дисплей фамилии работников, чей стаж работы в организации превышает значение, введенное с клавиатуры; • если таких работников нет, вывести на дисплей соответствующее сообщение.*/ #include <iostream> using...
C++ Что делает программа? не могу понять что делает программа? #include <iostream> using namespace std; bool mystery(unsigned bits); int main() { unsigned x; cout<<"enter an integer: "; подробнее

Показать сообщение отдельно
-=ЮрА=-
Заблокирован
Автор FAQ
24.03.2013, 03:07     Количество слов в строке
Цитата Сообщение от Шератан Посмотреть сообщение
Надо задать пользователю ввести строку с клавиатуры, вывести каждое слово по отдельности и около каждого указать, сколько раз оно встречается в этой строке.
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
#include <string>
#include <vector>
#include <iostream>
using namespace std;
 
bool isWordInTable(string word, vector < pair<string, int> > word_table, size_t &iword);
 
int main()
{
    string word;
    size_t iword;
    vector < pair<string, int> > word_table;
    cout<<"Make input : "<<endl;
    char   ch_input = '\n';
    bool   b_input  = true;
    while(b_input)
    {
        b_input = (ch_input = cin.get()) != '\n';
        if(isspace(ch_input))
        {
            if( word.length() )
            if(!isWordInTable(word, word_table, iword))
                word_table.push_back(make_pair(word, 1));
            else
                word_table[iword - 1].second++;
            word.resize(0);
        }
        else
        if(!ispunct(ch_input))
            word += ch_input;
    }
    cout<<"Word table : "<<endl;
    for(iword = 0; iword < word_table.size(); iword++)
        cout<<word_table[iword].first<<"\t: "<<word_table[iword].second<<endl;
    word_table.resize(0);
    return 0;
}
 
bool isWordInTable(string word, vector < pair<string, int> > word_table, size_t &iword)
{
    bool bExist  = false;
    for(iword = 0; iword < word_table.size() && !bExist; iword++)
        bExist   = (word_table[iword].first == word);
    return bExist;
}
Миниатюры
Количество слов в строке  
 
Текущее время: 22:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru