Tengo estos para bucles.C++ Condensing anidado para bucles
// output all possible combinations
for (int i1 = 0; i1 <= 2; i1++)
{
for (int i2 = 0; i2 <= 2; i2++)
{
for (int i3 = 0; i3 <= 2; i3++)
{
for (int i4 = 0; i4 <= 2; i4++)
{
for (int i5 = 0; i5 <= 2; i5++)
{
for (int i6 = 0; i6 <= 2; i6++)
{
for (int i7 = 0; i7 <= 2; i7++)
{
//output created words to outFile
outFile
<< phoneLetters[n[0]][i1]<< phoneLetters[n[1]][i2]
<< phoneLetters[n[2]][i3]<< phoneLetters[n[3]][i4]
<< phoneLetters[n[4]][i5]<< phoneLetters[n[5]][i6]
<< phoneLetters[n[6]][i7]
<< " ";
if (++count % 9 == 0) // form rows
outFile << std::endl;
}
}
}
}
}
}
}
Se ve horrible, pero estoy demasiado de un Novato saber por dónde empezar en lo que respecta a la condensación de ellos.
¿Alguien puede darme un puntero o dos para que pueda hacer que este código sea un poco más ordenado?
Wow ... Esto es una obra de arte ... – Mysticial
Me gustaría volver a escribir esto por lo que utiliza el menor número de bucles posible – frankV
Sería bastante trivial convertir esto en una función recursiva donde cada llamada recursiva se acumula el siguiente valor, y cuando tenga suficientes valores, imprima el número. De forma alternativa, conserve un solo contador en ejecución y conviértalo en base 3 (o calcule sus componentes de base 3). –