Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Kandrade

[Código] Função recursiva para inverção de uma string

Recommended Posts

Uma função recursiva que inverte um vetor de caracteres.

 

#include <stdio.h>

void inv(char *string){
   if(*string){
	  inv(string+1);
	  putchar(*string);
   }
}

int main(){
   inv("kandrade");
   return 0;
}

A função retornará os caracteres do último para o primeiro.

A função recursiva se resolverá quando *string for \0, ou seja, fim de string.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não recomendo fazer recursivamente.

 

Seria mais simples algo do tipo...

char* inv(char* string)
{
	int iTam = strlen(string);
	char *cRetorno = new char[iTam+1];
	cRetorno[iTam] = 0; //fechar a string de retorno
	int i=0;
	while(i != iTam)
	{
		cRetorno[i] = string[(iTam-i)-1];
		i++;
	}
	delete string;
	return cRetorno;
}

Está certo que é um programa simples, mas o uso da memória em uma rotina recursiva é muito grande.

 

Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

vale lembrar q oq o omar.pessoa disse é importante + nem precisa criar função para isso! basta usar a função pronta:

strrev();

ela esta contida no biblioteca <string.h>

jah dei exemplo dela aki olhem: http://forum.imasters.com.br/index.php?showtopic=261438

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso não é uma recomendação.

É apenas um exemplo do uso de recursividade.

 

Para casos simples como esse tanto faz usar recursividade ou não.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Não recomendo fazer recursivamente.

 

Seria mais simples algo do tipo...

Compartilhar este post


Link para o post
Compartilhar em outros sites

foi legal esse exemplo, pois na maioria das apostilas q ensinam recursividade, o exemplo + comum para ensinar é fazer a função recursiva do fatorial ou de algum algoritmo de busca!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa, agora temos uma função recursiva e outra não recursiva.

Obrigado pela colaboração.

 

Desculpa qualquer coisa.

 

Abraço Omar

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Sem problemas...

 

Só coloquei minha opinião sobre essa função.

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.