Suponiendo que cada combinación únicamente se ha de contabilizar una vez puedes probar con algo tal que:
Código C++:
Ver originalint main( )
{
std::vector< int > numeros = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
for ( unsigned int i=0; i<numeros.size( ) - 2; ++i )
{
unsigned int j = i+1;
unsigned int k = j+1;
while ( j < numeros.size( ) && k < numeros.size( ) )
{
std::cout << numeros[ i ] << numeros[ j ] << numeros[ k ] << std::endl;
k++;
if ( k == numeros.size( ) )
{
j++;
k = j+1;
}
}
}
}
Como puedes ver imprime todas las combinaciones posibles de tres números.