Código:
Pense en detectar si del lado izquierdo de la palabra hay un espacio asi como tambien en el lado derecho de la palabra pero me da el error: std::out_of_range. double calcAbsoluteFreq(string ¶graph, string &word) { istringstream tempStr(paragraph); string lineParagraph; double frecuAbs=0; while (getline( tempStr, lineParagraph)) { // Encontrar la frecuencia absoluta de la palabra en la linea string::size_type word_pos( 0 ); while ( word_pos!=string::npos ) { word_pos = lineParagraph.find(word, word_pos); if ( word_pos != string::npos ) { frecuAbs++; // Hacer la siguiente busqueda despues de encontrar la palabra en la misma linea word_pos += word.length(); } } } return frecuAbs; }
Código:
Sinceramente no se que pasa ya que si intento ver que hay en esa posición con un cout, el espacio esta allí.. Alguien podría darme alguna luz???... while (getline( tempStr, lineParagraph)) { string::size_type word_pos( 0 ); while ( word_pos!=string::npos ) { word_pos = lineParagraph.find(word, word_pos); if ( word_pos != string::npos ) { if ((lineParagraph.substr(word_pos-1)==" ") && (lineParagraph.substr(word_pos+word.length())==" ")) { frecuAbs++; } word_pos += word.length(); } } }
Gracias de ante mano!!!...