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

Напечатать все различные слова, указав для каждого из них число его вхождений в последовательность - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Может ли вообще на практике возникнуть ситуация, когда определенный класс следует указывать как друго самого себя? http://www.cyberforum.ru/cpp-beginners/thread648865.html
Может ли вообще на практике возникнуть ситуация, когда определенный класс следует указывать как друго самого себя?
C++ Запрет ввода символов в поле Edit Как запретить нажатие и вставку из буфера всех символов, кроме нужных мне, к примеру разрешить вводить в поле только цифры? И еще 2-ой вариант, как отдельный, как запихать в переменную char или еще в... http://www.cyberforum.ru/cpp-beginners/thread648840.html
C++ Ошибка в цикле while
Привет всем! Ниже приведен код программы, в программе две функции одна change() переводит Ф.И.О в формат фамилия - инициалы, а вторая polindrom() с которой собственно и проблема - ищет в введенной...
C++ Не определен базовый класс
Доброго времени суток. Столкнулся с проблемой при наследовании, и не могу разобраться, как решить. Есть базовый класс SPoint и два производных Tug, Terminal. #pragma once #include "Port.h"...
C++ Возвращаемые значения функции http://www.cyberforum.ru/cpp-beginners/thread648822.html
Есть функция, которая должна вернуть в программу значение, но что то не так. int StartInfo(int FirstWidth,int FirstHeight) { printf ("Write width: "); scanf("%d",&FirstWidth); printf ("Write...
C++ Что изменить в программе? Что изменить в программе чтобы можно было работать с несколькими записями благодаря указателям на текущий следующий и предыдущий элемент#include "stdafx.h" #include "cstdlib" #include <iostream>... подробнее

Показать сообщение отдельно
igorrr37
1647 / 1275 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
16.09.2012, 16:33
на string
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
#include <iostream>
#include <string>
 
int main()
{
    std::string s("  a table  computer apple  computer table a tablespoon.  "), word, tmp;
    std::string::size_type ind(0), ind1(0), ind2, counter(0);
    for(ind = 0; (ind = s.find('.', ind)) != std::string::npos; s.replace(ind, 1, 1, ' '))
    ;
    while((ind = s.find_first_not_of(' ', 0)) != std::string::npos &&
          (ind1 = s.find(' ', ind)) != std::string::npos)
        {
            word.assign(s, ind, ind1 - ind);
            s.erase(ind, ind1 - ind);
            for(counter = 1, ind =  0;
                (ind = s.find_first_not_of(' ', ind)) != std::string::npos &&
                (ind1 = s.find(' ', ind)) != std::string::npos; )
            {
                if(s.substr(ind, ind1 - ind) == word)
                {
                    ++counter;
                    s.erase(ind, ind1 - ind);
                }
                else
                {
                    ind = ind1;
                }
            }
            std::cout << word << " - " << counter << std::endl;
        }
    return 0;
}
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru