Ir ao conteúdo
  • Cadastre-se

Função recursiva em C, erro na chamada


Posts recomendados

Olá, preciso fazer uma função recursiva em C que consiga simular uma pstree, ou seja, imagine os números abaixo como processo.

 

1 (pai)

  2 (filho de 1)

  3 (filho de 1)

    4 (filho de 3)

      5 (filho de 4)

    6 (filho de 3)

 

etc....

 

Fiz o seguinte código:

 

void imprime_Pstree(int i, int ntabs)
{
    int k = 0, j = 0, quantProc = 0;
    int procAtual;

    // Imprime a quantidade de tabs
    for(k = 0; k < ntabs; k++)
        printf("\t");

  	// A função preenche um vetor com os vizinhos de i. Por exemplo, se i = 2 e os vizinhos de 2 são 3, 4, 5, ..
    // O quantProc é o tamanho do vetor
    quantProc = preenche_vetor(i);

    // Imprime o nome do processo
    imprimeNomeProcesso(i);

    for(j = 0; j < quantProc; j++) 
        imprime_Pstree(processos[j], ntabs+1);

	
    
}

Mas ele imprime somente o pai (chamada da função recursiva) e o filho do mesmo, que não possui outros filhos.

 

Sei que falta outra chamada pra função recursiva voltar no pai do filho anterior, mas, como ?

 

Desde já agradeço.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!