| Код | std::vector<std::string> something; int nonspaceSymbolsCount = 0; int wordsCount = 0; for(std::vector<std::string>::iterator it = something.begin(); it != something.end(); it++) { //началось ли уже новое слово: bool isWord = false; //сколько вообще всяких символов в этой строке: const int symbolsCount = (*it).length; for(int i = 0; i < symbolsCount; i++) { //если НЕ пробел: if((*it)[i] != ' ') { nonspaceSymbolsCount++; //если прежде были только пробелы или это первый непробельный символ в этой строке: if(!isWord) { isWord = true; wordsCount++; } //в противном случае текущий символ лишь часть уже подсчитанного (учтённого) слова... } //предыдущее слово однозначно закончилось (неважно сколько пробелов после него): else { isWord = false; } } } printf("non-space symbols count: %d; words count: %d.\n", nonspaceSymbolsCount, wordsCount);
|
Добавлено @ 19:30 Думаю будет работать. |