Я новичок в C ++ и сейчас учусь на книге под названием Accelerated C ++ . Я закончил третью главу (векторы) и пришел к этому упражнению:
«Напишите программу, чтобы подсчитать, сколько раз каждое отдельное слово появляется на входе».
Подумав, я начал над этим работать. Я хотел протестировать программу, но std :: cout не работал. Я добавил cout << "test";
в несколько мест в моем коде, чтобы увидеть, в чем проблема, и пришел к выводу, что он не работает внутри первого цикла for. Не рекомендую мне использовать карты для решения проблемы, потому что я работаю над векторами. Переменные не на английском языке, поэтому я переведу некоторые из них, чтобы вы знали, что происходит:
recenica - предложение; рижец - слово; vel_vektora - размер вектора; duz_recenice - длина предложения; br_ponavljanja - сколько раз слово встречается в предложении;
#include <vector>
#include <iostream>
#include <string>
using std::string; using std::vector;
using std::cin; using std::cout;
using std::endl;
int main()
{
string rijec;
vector<string> recenica;
while (cin >> rijec) recenica.push_back(rijec);
cout << endl;
typedef vector<string>::size_type vel_vektora;
vel_vektora duz_recenice = recenica.size();
cout << "test0, ";
for (int i = 0; i < duz_recenice - 1; ++i)
{
cout << "test, !";
int br_ponavljanja = 1;
for (int j = i + 1; j < duz_recenice; ++j)
{
cout << "test2, ";
if (recenica[i] == recenica[j])
{
cout << "test3, ";
++br_ponavljanja;
recenica.erase(recenica.begin() + j);
}
cout << "test4, ";
}
cout << recenica[i] << ": " << br_ponavljanja << endl;
}
cout << "test5, ";
getchar();
return 0;
}
В чем проблема с std::cout
?