Ir ao conteúdo
  • Cadastre-se

Ajuda com recursividade em c


Ir à solução Resolvido por ScreenBlack,

Posts recomendados

Pessoal, estou com um problema no exercício abaixo não sei nem por onde começar, alguem pode me ajudar

 

Considere o problema: dado n e uma sequência com n números, imprimir a

sequência na ordem inversa a que foi lida. Fazer isso sem usar vetor.

Sugestão: faça uma função recursiva imprime, que lê um número, chama a si

própria se não chegou ao fim da seqüência e imprime o número lido.

Link para o comentário
Compartilhar em outros sites

Ficou confuso essa coisa de não usar vetor. Ele quer que a função leia uma sequencia numérica, mas sem usar vetor?

Ele quer que use lista encadeada?

 

imprime_numero (int numero) {    // se numero não for o ultimo da lista    if (numero->proximo_elemento_da_lista != NULL) {        imprime_numero( numero->proximo_elemento_da_lista )    }    printf("%d", numero);}
Link para o comentário
Compartilhar em outros sites

  • Solução

Acho que é isso:

void imprime(int quantidade, int posicao){    int valor = 0;    if ( posicao < quantidade )    {        printf("Digite o valor %d: ", posicao + 1);        scanf(" %d", &valor);        imprime( quantidade, posicao + 1  );        printf("Valor na posicao %d: %d\n", posicao + 1, valor);    }}
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

/* inverte a sequ�ncia ao imprimir */

/* pr�-dados: ponteiro para fun��o que retorna dados */

/* p�s-dados: realiza recur��o da mesma fun��o */

void inverte( int (*f)(void), int freio)

{

int ch = f();

if(ch != freio)

inverte(f, freio); else

ch = '\b';

printf("%c", ch);

return;

}

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...