elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Un desafío para los interesados
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 Ir Abajo Respuesta Imprimir
Autor Tema: Un desafío para los interesados  (Leído 13,418 veces)
LearningSpanishProgrammer

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Un desafío para los interesados
« en: 9 Septiembre 2011, 03:30 am »

Normalmente, tenemos personas hacendo preguntas, pero, no esta vez

Este es un desafío para quen quiere: Dado un numero

Código:
 
int i = 389438

Tiene que imprimir el número invertido (en este caso 834983)

Sin necesidad de utilizar arreglos, tambíen no puede convertir a la cadena. No puede usar variable auxiliar y solo puede usar el 'for' una vez.


En línea

Estoy aprendiendo español, y tu estas aprendiendo programación
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Un desafío para los interesados
« Respuesta #1 en: 9 Septiembre 2011, 03:48 am »

Pensé que iba a ser mas difícil, de todas formas lo hice en vb :xD de la misma forma que se puede hacer en C++

http://pastebin.com/EhvJ6KAw


En línea

LearningSpanishProgrammer

Desconectado Desconectado

Mensajes: 67


Ver Perfil
Re: Un desafío para los interesados
« Respuesta #2 en: 9 Septiembre 2011, 03:51 am »

No puede usar variable auxiliar

Su resposta esta buena, pero su condición de parada no es muy buena
En línea

Estoy aprendiendo español, y tu estas aprendiendo programación
raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: Un desafío para los interesados
« Respuesta #3 en: 9 Septiembre 2011, 04:01 am »

Su resposta esta buena, pero su condición de parada no es muy buena
No entendí lo de "parada", pero en vb no se puede llamar a un for sin una variable, para eso usar While/Do (que son casos especiales del for :P)

Código
  1. int i = 389438;
  2. for (; i != 0;) {
  3.    // aca no recuerdo mucho la funcion para imprimir xD
  4.    printf(i % 10);
  5.    i = i / 10;
  6. }
  7.  
En línea

rir3760


Desconectado Desconectado

Mensajes: 1.639


Ver Perfil
Re: Un desafío para los interesados
« Respuesta #4 en: 9 Septiembre 2011, 06:04 am »

Supongo es un desafió para los principiantes, ¿Correcto?

Pero hay detalles. El primero es, dependiendo de la implementación, el valor 389438 puede ser de tipo "long". Y el segundo la aproximación con un "for" funciona pero no podría manejar el caso especial del valor cero (si se debe tener este en cuenta hay que cambiar el bucle "for" por un "do ... while").

Un saludo
En línea

C retains the basic philosophy that programmers know what they are doing; it only requires that they state their intentions explicitly.
--
Kernighan & Ritchie, The C programming language
PiroskY

Desconectado Desconectado

Mensajes: 76


пирожки


Ver Perfil
Re: Un desafío para los interesados
« Respuesta #5 en: 12 Septiembre 2011, 17:24 pm »

Estaría bueno que estén mejor explicadas las limitaciones.

Y también los casos para los cuales tendría que funcionar, a menos de que simplemente tenga que funcionar para ese numero.
En línea

Alien-Z

Desconectado Desconectado

Mensajes: 177


C++ Programmer


Ver Perfil
Re: Un desafío para los interesados
« Respuesta #6 en: 12 Septiembre 2011, 17:32 pm »

Estaría bueno que estén mejor explicadas las limitaciones.

Y también los casos para los cuales tendría que funcionar, a menos de que simplemente tenga que funcionar para ese numero.

El que ha planteado esta cuestión le cuesta un poco expresarse en castellano, aun asi está muy bien explicado:

Dado el número: int i = 389438
-Tienes que imprimir dicha cifra invertida (en este caso 834983)
-No se pueden usar arrays
-No se puede convertir este número a cadena
-No se pueden usar variables auxiliares
-Solo se puede utilizar el bucle "for" una vez

Es muy sencillo, quizá asi lo veas más claro aunque ya lo ha resuelto raul338.

Citar
No entendí lo de "parada", pero en vb no se puede llamar a un for sin una variable, para eso usar While/Do

En C++ si se puede, es lo que has hecho en tu ejemplo, la única variable que has usado es la del propio número.

Saludos.
« Última modificación: 12 Septiembre 2011, 17:51 pm por Alien-Z » En línea

PiroskY

Desconectado Desconectado

Mensajes: 76


пирожки


Ver Perfil
Re: Un desafío para los interesados
« Respuesta #7 en: 12 Septiembre 2011, 17:49 pm »

No me refiero a eso.

Mira, este programa resuelve el problema:

int main()
{
    int i = 389438
    cout >> "834983";
    return 0;
}

Yo quería algo como; números positivos, cualquier numero, etc.
En línea

Alien-Z

Desconectado Desconectado

Mensajes: 177


C++ Programmer


Ver Perfil
Re: Un desafío para los interesados
« Respuesta #8 en: 12 Septiembre 2011, 17:56 pm »

No me refiero a eso.

Mira, este programa resuelve el problema:

int main()
{
 int i = 389438
 cout >> "834983";
 return 0;
}

lol... ¡hay que imprimir el número invertido pero usando codes, no con un cout!  :xD

Citar
Yo quería algo como; números positivos, cualquier numero, etc.

Vamos a ver, tú tienes la variable "int i = 389438", y apartir de ahi con funciones, operaciones, bucles, etc. debes obtener el número inverso, es asi de sencillo.
« Última modificación: 12 Septiembre 2011, 18:00 pm por Alien-Z » En línea

$Edu$


Desconectado Desconectado

Mensajes: 1.842



Ver Perfil
Re: Un desafío para los interesados
« Respuesta #9 en: 12 Septiembre 2011, 18:00 pm »

Ya lo hiciste alienz o que? esque lo iba a hacer ahora, pero si ya lo hicieron 0 ganas xDD es usando mod y listo
En línea

Páginas: [1] 2 3 4 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Desafio para Todos !!!!!!!!
Electrónica
K_zeed 0 1,911 Último mensaje 18 Julio 2006, 18:01 pm
por K_zeed
Ayuda y desafio para todos
Ingeniería Inversa
Jorgezenzerovich 0 1,854 Último mensaje 8 Octubre 2012, 03:41 am
por Jorgezenzerovich
Noticia para los interesados en astronomia; descubren un planeta potencialmente. « 1 2 »
Foro Libre
crazykenny 11 4,699 Último mensaje 30 Diciembre 2015, 16:44 pm
por Hadess_inf
nueva página para los interesados.
Mensajería
buite 0 2,237 Último mensaje 23 Octubre 2017, 00:51 am
por buite
Herramientas para interesados
Hacking
Serapis 1 3,263 Último mensaje 5 Abril 2021, 06:54 am
por Xyzed
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines