Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[Programación] ¿Cómo podría hacer ésto?
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Spanish
View previous topic :: View next topic  
Author Message
wel
Apprentice
Apprentice


Joined: 03 Sep 2003
Posts: 207

PostPosted: Fri Jan 07, 2005 8:44 pm    Post subject: [Programación] ¿Cómo podría hacer ésto? Reply with quote

Ya me ha fastidiado bastante, la verdad es que no sé cómo programarlo. Se trata de una función que toma un entero y, dígito a dígito, le da la vuelta. Es decir, si tenemos el entero 1101, el resultado sería 1011.

¿Alguna idea?
Back to top
View user's profile Send private message
t3n4k
Tux's lil' helper
Tux's lil' helper


Joined: 17 Jun 2004
Posts: 109
Location: Maresme/Barcelona

PostPosted: Fri Jan 07, 2005 9:19 pm    Post subject: Reply with quote

Se trataría de descomponer el número en cantidad de unidades, decenas, centenar,miles,...

Code:

int mil = (int) n / 1000;
n = n - mil*1000;
int cen = (int) n / 100;
n = n - cen*100;
int dec = (int) n / 10;
n = n - dec*10
int ud = n;


Luego lo deberías reconstruir a la inversa

Code:

int resultado = ud * 1000 + dec * 100 + cen * 10 + mil;

La idea es esta, luego deberias controlar hasta donde vas dividiendo, segun el número puede que tengas que dividir entre 10.000 etc...

En tu ejemplo:
Code:

int mil = (int) 1101 / 1000; /* mil = 1 */
n = 101;
int cen = (int) 101 / 100; /* cen = 1 */
n = 1;
int dec = (int) 1 / 10; /*dec = 0 */
n = 1;
int ud = (int) 1 / 1; /* ud = 1 */

int resultado = 1*1000 + 0*100 + 1*10 + 1*1; /* rsultado = 1011 */

Saludos
Back to top
View user's profile Send private message
BlackHand
n00b
n00b


Joined: 11 Dec 2003
Posts: 8

PostPosted: Fri Jan 07, 2005 9:43 pm    Post subject: Reply with quote

el codigo seria algo asi:
/**********************************/
int n; // numero ingresado
int v=0; // numero invertido
int d,nn;

// asumo q se ingreso el numero en n;
nn=n;
do{
d = n%10;
v = v*10+d;
n = (n-d)/10;
}while(n>0);

// al final en v tendremos el numero n al reves
// en nn estara el numero original

/*********************************/

bueno con eso te vale para cualquier numero de digitos.
tu afinalo
_________________
--
Black Hand
Amiga Addicts
Back to top
View user's profile Send private message
quelcom
Guru
Guru


Joined: 16 Mar 2004
Posts: 306
Location: Catalonia

PostPosted: Fri Jan 07, 2005 11:06 pm    Post subject: Reply with quote

Un poco de Perl es ideal en este caso:

Code:
$numero = 11011110001;
@campos = split //, $numero;
@campos = reverse (@campos);
print @campos;


Code:
hades@Shinra perl $ perl numeros.pl
10001111011


4 linias y a correr :wink:
Back to top
View user's profile Send private message
Ferdy
Retired Dev
Retired Dev


Joined: 04 May 2002
Posts: 483
Location: España

PostPosted: Fri Jan 07, 2005 11:37 pm    Post subject: Reply with quote

Code:
echo 10101010101011101011 | rev


:P

Salu2.Ferdy
Back to top
View user's profile Send private message
kruncher
n00b
n00b


Joined: 10 Mar 2004
Posts: 59

PostPosted: Fri Jan 07, 2005 11:38 pm    Post subject: Reply with quote

.... y que tal un poco de php ?

---------------------

echo strrev("12345");

---------------------

1 Linea y listo !
_________________
Web Log
Back to top
View user's profile Send private message
quelcom
Guru
Guru


Joined: 16 Mar 2004
Posts: 306
Location: Catalonia

PostPosted: Sat Jan 08, 2005 12:09 am    Post subject: Reply with quote

Code:
echo 10101010101011101011 | rev


Ese Ferdy... :lol: :lol: :lol: :lol: :lol:
Back to top
View user's profile Send private message
psm1984
l33t
l33t


Joined: 14 Oct 2003
Posts: 919

PostPosted: Sat Jan 08, 2005 12:54 am    Post subject: Reply with quote

En python :D

i=34
j=int(( str(i) [::-1]))
print "%d %d" % (i,j)
Back to top
View user's profile Send private message
IceFox
Apprentice
Apprentice


Joined: 21 Jun 2004
Posts: 273
Location: Chile

PostPosted: Sat Jan 08, 2005 5:41 am    Post subject: Re: [Programación] ¿Cómo podría hacer ésto? Reply with quote

Lo quieres en algun lenguaje distinto de los ya mencionado ??
_________________
La vida no es sino una continua sucesión de oportunidades para sobrevivir.
-- Gabriel García Márquez
Back to top
View user's profile Send private message
wel
Apprentice
Apprentice


Joined: 03 Sep 2003
Posts: 207

PostPosted: Sat Jan 08, 2005 1:04 pm    Post subject: Reply with quote

Jeje, gracias a todos. El lenguaje era C, pero apunto todas las sugerencias, como siempre.

Si a alguno le interesa responder este tipo de dudas, que se quede atento a su monitor porque entre hoy y mañana intentaré que mi versión de ls funcione, y tened por seguro que voy a meter la pata.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Spanish All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum