elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 03:02  


Tema destacado: Grupo de Facebook de elhacker.net

+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse)
| | |-+  recursividad
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: recursividad  (Leído 2,242 veces)
andaluz

Desconectado Desconectado

Mensajes: 266



Ver Perfil
recursividad
« en: 16 Marzo 2010, 17:57 »

me podrian ayudar a realizar este programita, tengo que introducir un numero por teclado, del numero de cifras que quiera y postrarlo al reves.
ejemplo:
       si introduzco por teclado: 8795
       me tiene que mostrar: 5978

Código
#include <stdio.h>
#include <stdlib.h>
void NumAlReves(int numero,int cont);
 
int main()
{
int num,cont;
 
printf("\nIntroduce un numero: ");
scanf("%d",&num);
fflush(stdin);
NumAlReves(num,0);
 
 system("PAUSE");
 return 0;
}
void NumAlReves(int numero,int cont)
{
int i;
int max=cont+1;
 
    if(numero/10==0)
    {
         printf("\nEl numero de cifras es: %d",cont+1);
    }
    else
    {
         NumAlReves((numero/10),cont+1);
         max=cont+1;
    }
    //printf("\nMAX: %d",max);
    printf("\nNUMERO AL REVES...");
    printf("\nNUMERO ORIGINAL: %d",numero);
    i=max;
    while(i<0)
    {
       printf("\nREVES: %d",numero);
       i--;
    }
 
}
 


En línea
E.P.I.


Desconectado Desconectado

Mensajes: 346


elprogramadorinformatico [E.P.I.]


Ver Perfil WWW
Re: recursividad
« Respuesta #1 en: 16 Marzo 2010, 17:59 »

Revisa las chinchetas  :-X

Me parece que hay más posts intentando girar una palabra al revés... puedes utilizarlo con número! Utiliza el buscador del foro  ;)


En línea

La verdad nos hará libres
andaluz

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: recursividad
« Respuesta #2 en: 16 Marzo 2010, 18:07 »

si lo tengo que realizar con numero, para voltearla lo tendria que realizar on un for o con un while?? pero para que inicie desde el final, a la variable max le asigno el numero de elementos y despues la voi decrementando, lo que nose es porque no me coje el while que tego implementado.
En línea
E.P.I.


Desconectado Desconectado

Mensajes: 346


elprogramadorinformatico [E.P.I.]


Ver Perfil WWW
Re: recursividad
« Respuesta #3 en: 16 Marzo 2010, 18:13 »

si lo tengo que realizar con numero, para voltearla lo tendria que realizar on un for o con un while?? pero para que inicie desde el final, a la variable max le asigno el numero de elementos y despues la voi decrementando, lo que nose es porque no me coje el while que tego implementado.

Mejor for, para mí  :silbar: Pero como te he dicho, revisa las chichetas... te saldrá tu ejercicio pero con letras, pero cambiarlo a números no tiene secreto...
En línea

La verdad nos hará libres
andaluz

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: recursividad
« Respuesta #4 en: 16 Marzo 2010, 18:29 »

no encuentro las chinchetas que me dices. las he buscado por el tema de recursividad, las he visto pero esque ese tipo de codificacion no lo entiendo.

me podrias ayudar a mejorar el codigo que he puesto yo???
En línea
08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: recursividad
« Respuesta #5 en: 16 Marzo 2010, 18:33 »

te saldrá tu ejercicio pero con letras, pero cambiarlo a números no tiene secreto...
De echo si es muy distinto, son dos tipos de datos diferentes... a las letras las pones en un arreglo y listo iteras haces lo que queres con el arreglo en cambio a un entero no podes tratarlo como un arreglo(a menos que realices una conversion, obviamente)...

en cuanto a tu problema podes hacer dos cosas una es manipular el entero mediante operadores a nivel bit... o sino con un truquito matematico sencillo... dividis el numero por 10 y tomas el resto o residuo (estos dos pasos los podes hacer en uno con el operador %) ese resto o residuo va a ser el ultimo digito del entero... mira...

Código
#include <stdio.h>
#include <stdlib.h>
void NumAlReves(int numero);
 
int main()
{
int num,cont;
 
printf("\nIntroduce un numero: ");
scanf("%d",&num);
fflush(stdin);
printf("El numero al revez es: ");
NumAlReves(num);
 
 system("PAUSE");
 return 0;
}
void NumAlReves(int numero)
{
    printf("%d", numero % 10);
    if(numero/10)
 NumAlReves((numero/10));
 
}
 
« Última modificación: 16 Marzo 2010, 18:35 por 08l00D » En línea
andaluz

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: recursividad
« Respuesta #6 en: 16 Marzo 2010, 18:37 »

pero eso es por recursividad 08l00D????
En línea
08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: recursividad
« Respuesta #7 en: 16 Marzo 2010, 18:40 »

pero eso es por recursividad 08l00D????

Código
void NumAlReves(int numero)
{
    printf("%d", numero % 10);
    if(numero/10)
   NumAlReves(numero/10); /* Mientras (numero > 10) volves a llamar a la funcion y asi recursivamente  :xD */
 
}
Si...
« Última modificación: 16 Marzo 2010, 18:43 por 08l00D » En línea
andaluz

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: recursividad
« Respuesta #8 en: 16 Marzo 2010, 18:42 »

ahhh vale vale, ya que dentro de la funcion llamas a la propia funcion no???
En línea
E.P.I.


Desconectado Desconectado

Mensajes: 346


elprogramadorinformatico [E.P.I.]


Ver Perfil WWW
Re: recursividad
« Respuesta #9 en: 16 Marzo 2010, 18:44 »

Te pongo un link para que te vayas enterando  :P: http://foro.elhacker.net/programacion_cc/problema_con_codigo_para_escribir_al_reves-t192849.0.html;msg916149

Es uno de los muchos que hay...
En línea

La verdad nos hará libres
andaluz

Desconectado Desconectado

Mensajes: 266



Ver Perfil
Re: recursividad
« Respuesta #10 en: 16 Marzo 2010, 18:46 »

ok gracias por tu ayuda.
En línea
E.P.I.


Desconectado Desconectado

Mensajes: 346


elprogramadorinformatico [E.P.I.]


Ver Perfil WWW
Re: recursividad
« Respuesta #11 en: 16 Marzo 2010, 18:48 »

De nada  :-[
En línea

La verdad nos hará libres
Dr.Hacker++


Conectado Conectado

Mensajes: 1.368



Ver Perfil WWW
Re: recursividad
« Respuesta #12 en: 16 Marzo 2010, 22:59 »

como esta eso de llamara a la misma funcion dentro de la misma funcion????

es como una palabra sin terminar

por ejemplo
FIN a mitad de fin vuelve a llamar a fin quedaria asi

FIFIFIFIFIFIFIFIFI...
En línea

Gana dinero fácil, Elhacker.net no permite nada ilegal
Entra en mi web -> http://helpmewithmypublic.comlu.com/
Necesito pagarme internet...


.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: recursividad
« Respuesta #13 en: 16 Marzo 2010, 23:15 »

La recursividad si tiene fin... aca te lo explican: http://c.conclase.net/curso/index.php?cap=024#inicio
En línea

"No te esfuerzes por saber mas, esfuerzate por ser el mejor en lo que sabes... Y asi sabras mas" .:BlackCoder:. jajaja



08l00D

Desconectado Desconectado

Mensajes: 168


Ver Perfil
Re: recursividad
« Respuesta #14 en: 17 Marzo 2010, 01:04 »

como esta eso de llamara a la misma funcion dentro de la misma funcion????

es como una palabra sin terminar

por ejemplo
FIN a mitad de fin vuelve a llamar a fin quedaria asi

FIFIFIFIFIFIFIFIFI...
no si le pones una condicion para que se ejecute la llamada nuevamente o no ... cuando no se ejecute mas por que no se cumple o se cumple tu condicion(depende de como lo hayas diseñado...) se ejecuta la instruccion despues .. y retorna retorna retorna retorna a eip y asi sucesivamente dependiendo cuantas veces se haya efectuado la recursion.. en conclusion son llamadas anidadas de una misma fucion dentro de la misma funcion...

pd: disculpa si no entendes un sorete lo que dije...  es que soy pesimo para explicar  :xD ... igualmente si sabes ensamblador ... depura el programa y vas a ver todo mas claro ...
En línea
Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Bash] Script de copia-backup archivos nuevos
Scripting
sclub 8 2,076 Último mensaje 23 Diciembre 2010, 22:52
por sclub
recursividad en c++
Programación C/C++
krizalid1 2 1,683 Último mensaje 4 Junio 2011, 15:32
por Don Pollo
recursividad
Java
trueno_dp 4 1,258 Último mensaje 16 Junio 2011, 09:20
por barbieturico
Recursividad
.NET
Choclito 7 1,161 Último mensaje 8 Julio 2011, 06:44
por Choclito
Dudas de recursividad
Programación C/C++
Denok 1 513 Último mensaje 16 Diciembre 2011, 03:20
por RHL
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines