Esto es lo que podría reunir en 15 minutos. Podría haber mejores formas, pero creo que esto captura la idea y luego puede ramificar su código a partir de fragmentos de este
Retazo
// Cpp_Console.cpp: define el punto de entrada para la aplicación de consola.
//
#include “stdafx.h”
#include
#include
#include
#include
- ¿Alguien puede dar el algoritmo detallado del algoritmo mejorado de segunda oportunidad?
- ¿Por qué no hay implementación de montón de Fibonacci en la API Java estándar?
- Sistemas distribuidos: ¿Existe un algoritmo de elección de líder para un anillo sincrónico en el que todos los procesadores menos uno tienen la misma ID?
- ¿Hay un árbol que pueda agregar y eliminar nodos más rápido que AVL?
- ¿Cuál es más artístico, un programador o un piloto?
void _createMapWithSubStrings (std :: map & _subStrings)
{
// crea algunos datos de prueba
// 1. Con algunas subcadenas
// 2. Sin las subcadenas
_subStrings.insert (std :: pair (“sart”, false));
_subStrings.insert (std :: pair (“ti”, false));
_subStrings.insert (std :: pair (“s”, false));
_subStrings.insert (std :: pair (“oo”, false));
_subStrings.insert (std :: pair (“t”, false));
_subStrings.insert (std :: pair (“descarado”, falso));
_subStrings.insert (std :: pair (“foo”, false));
_subStrings.insert (std :: pair (“bar”, false));
}
void _printResult (std :: string _testStr, std :: map & _subStrings)
{
// solo haz lo que hiciste antes
std :: for_each (_subStrings.begin (),
_subStrings.end (),
[=] (std :: pair _val) {
std :: string _valid = _val.second? “contiene”: “no contiene”;
std :: cout << "Cadena de prueba '" << _testStr << "'" << _valid << "substring '" << _val.first << "'" << std :: endl;
});
}
int _tmain (int argc, _TCHAR * argv [])
{
// aquí está nuestra cadena de prueba. puede tomar esto desde la línea de comando o la entrada del usuario. Vamos a codificarlo por ahora.
std :: string _testString = “sarthak tickoo”;
// esto es solo para fines de demostración. usa una lógica similar con lo que quieres lograr
std :: map _subStringMap;
_createMapWithSubStrings (_subStringMap);
// esta es la parte principal
std :: for_each (_subStringMap.begin (),
_subStringMap.end (),
[&] (std :: pair & _oneElem) {
if (_testString.find (_oneElem.first)! = std :: string :: npos)
_oneElem.second = true;
});
// ¡imprime para ver si lo anterior funcionó!
_printResult (_testString, _subStringMap);
devuelve 0;
}
Espero eso ayude