Cita:
Iniciado por Lifka C++ preferiblemente.
.......................... Pero el problema es que no sé como cubrir todas las combinaciones de tres números del vector usando sólo dos bucles.
<¿Y quién obliga a dos bucles?. Para las combinaciones tomados de tres en tres me basta un for
:
Código C++:
Ver original#include <iostream>
#include<vector>
int main ( void ) {
size_t i = 0 , j = 1 , k = 2 , cont = 1 ;
std::vector < int > num = { 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 /**/} ;
for ( k = j + 1 ; k <= num.size ( ) ; k++ ) {
if ( k == num.size ( ) )
j++ , k = j + 1 ;
if ( k < num.size ( ) && i < num.size ( ) - 1 )
std::cout << "( "<< cont << " )"<< " " << "[ " << num [ i ] << " " << num [ j ] << " " << num [ k ] << " ]" << std::endl , cont++ ;
if ( j == num.size ( ) - 1 )
i++ , j = i + 1 , k = j ;
}
return std::cout << "\n\nTotal de combinaciones : " << cont - 1 , 0 ;
}
¡¡¡Saluditos!!!