Programação C - Dois para loops para recursão
Eu estava tentando criar uma função recursiva que simulasse dois para loops. Portanto, a função teria que fazer isso:
int recursion(int n, int i, int j)
{
for(i=0; i<n; i++)
{
for(j=i+1; j<n; j++)
{
printf("%d %d\n", i, j);
}
}
}
mas quero que seja recursivo. Eu tentei algo como:
int recursion(int n, int i, int j)
{
if(i<n)
{
if(j<n)
{
printf("%d %d\n", i, j);
recursion(n, i+1, j+1);
}
recursion(n, i+1, i+1+1);
}
}
Eu chamaria um recursivo em principal como
recursion(10, 0, 1);
mas a saída não é a mesma para essas duas versões da função. Alguém pode me dizer onde estou me enganando com a recursiva?