Задача на строки

 
0
 
C++
ava
Анна25 | 17.03.2013, 23:24
Дано осмысленное текстовое сообщение. Вывести только те слова сообщения, которые встречаются в нем более n раз.



#include <iostream>

#include <string>

using namespace std;

int _tmain(int argc, _TCHAR* argv[])
{
string str, slovo;

int n;

cout<<"n=";cin>>n;

string::size_type k=0, pos=0;

string razdel=",.;:!?";

cout<<"Enter String"<<endl;

getline(cin,str);

k=str.find_first_of(razdel,pos);

while (k!=string::npos)

{
    slovo=str.substr(pos, k-pos);

    if (ispunct(str[k])  ) 

pos=k+2;

    else pos=k+1;
    
    if (slovo[0]==slovo[k]) n++; //я не совсем понимаю условие при котором у меня должна работать программа
    
    k=str.find_first_of(razdel, pos);

}
cout<<slovo<<endl;

    return 0;
}



помогите дописать задачу , я никак не могу разобраться с условием вывода , где более  n раз 
Comments (4)
ava
borisbn | 18.03.2013, 08:55 #
ava
Анна25 | 18.03.2013, 15:08 #
спасибо, но я этих библиотек пока не знаю #include <algorithm>
#include <map>
#include <iterator>
#include <cctype>. Можно просто исправить и добавить в мной написанный код? 
ava
borisbn | 18.03.2013, 15:17 #
Цитата (Анна25 @  18.3.2013,  15:08 findReferencedText)
Можно просто исправить и добавить в мной написанный код?  

нет. у тебя сравниваются первая и очередная буквы
Цитата (Анна25 @  17.3.2013,  22:24 findReferencedText)
 if (slovo[0]==slovo[k])


Цитата (Анна25 @  18.3.2013,  15:08 findReferencedText)
 я этих библиотек пока не знаю

ИМХО самое время выучить. тем более, что там ничего сложного. возьми любую книжку отсюда...

cctype ты уже используешь
Цитата (Анна25 @  17.3.2013,  22:24 findReferencedText)
if (ispunct(str[k])  ) 


ava
kolesnle | 01.04.2013, 09:23 #
Цитата (borisbn @  18.3.2013,  08:55 findReferencedText)
как-то так - http://liveworkspace.org/code/1fegMX$16 

Оу, лямбда - рулит smile
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit