C/Visual C - Recursividad

 
Vista:
sin imagen de perfil

Recursividad

Publicado por Sebastián (31 intervenciones) el 25/12/2016 05:04:17
Hola a todos, de antemano feliz noche buena, que disfruten mucho junto a sus familias!

Tengo una consulta, como puedo implementar la siguiente función recursiva :
Elaborar una función recursiva que reciba un número entero positivo o negativo, y lo imprima dígito a dígito en líneas diferentes.

Por ejemplo, si la función recibe el numero -31702, debe imprimir lo siguiente:
-
3

1

7

0
2

En el programa principal ingresar números enteros para imprimir el número y el resultado de la función, hasta digitar un cero.

Les agradezco que me orienten un poco, muchas gracias de antemano!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 296
Bronce
Ha mantenido su posición en C/Visual C (en relación al último mes)
Gráfica de C/Visual C

Recursividad

Publicado por agustin (272 intervenciones) el 25/12/2016 11:42:53
Yo lo haría así:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include  <stdio.h>
 
void descomponer (int valor)
{
	unsigned int x;
	if (valor < 0){
		printf  ("-\n");
		valor*=-1;
	}
	if (valor != 0){
		x=valor%10;
		descomponer (valor/10);
		printf ("%d\n",x);
	}
 
}
 
int main (){
	int n;
	do {
		printf ("Introduce un valor (0 para salir):");
		scanf ("%i",&n);
		descomponer (n);
	}while (n != 0);
	return 0;
}
Pero no soy ningún experto y seguramente hay algún modo mejor. Además la recursividad se me atraganta y no me gusta nada ya que todo lo que se haga con recursividad se puede hacer sin ella y con menos recursos aunque algunas veces se gana simplicidad en el código al usarla.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Recursividad

Publicado por Sebastián (31 intervenciones) el 25/12/2016 18:03:11
Hola Agustín, gracias de nuevo por tu ayuda y tiempo, estoy viendo recien recursividad en la materia, y he encontrado cierta utilizado en ejercicios como el de fibonacci (ahorra algunas lineas de código y la lógica se me hizo más facil), pero en otros ejercicios como este se me complico ha complicado y mucho.

Gracias de nuevo por tu ayuda

Una Feliz Navidad.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar