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

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


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

Desconectado Desconectado

Mensajes: 56


Ver Perfil
Cortar numeros
« en: 20 Julio 2010, 04:29 am »

Hola tengo una pequeña duda , alguien sabe algun algoritmo para cortar numeros es decir por ejm tengo esta sucecion de numeros 0123456789 y quisiera dividirla en grupos de a 3 o de a 4 quedando a si
(0123)
(4567)
(89) ,etc
alguien sabe de q manera podria cortarlos?
SALUDOS


En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: Cortar numeros
« Respuesta #1 en: 20 Julio 2010, 04:33 am »

Pero lo estas guardando en una cadena? O en una variable int?


En línea

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



do-while


Desconectado Desconectado

Mensajes: 1.276


¿Habra que sacarla de paseo?


Ver Perfil
Re: Cortar numeros
« Respuesta #2 en: 20 Julio 2010, 05:07 am »

¡Buenas!

Si trabajas con numeros enteros, tienes algunas opciones.

1- Los operadores aritmeticos (recuerda como funciona una division)
2- Pasar el numero a una cadena y posteriormente manipularlo (te tocara estudiar las cadenas)
3- (No se me ocurria otra opcion, pero por si la habia, no he dicho que fuesen dos)  :silbar:

¡Saludos!
En línea

- Doctor, confundo los números y los colores.
- Vaya marrón.
- ¿Marrón? ¡Por el culo te la hinco!
[L]ord [R]NA


Desconectado Desconectado

Mensajes: 1.513

El Dictador y Verdugo de H-Sec


Ver Perfil WWW
Re: Cortar numeros
« Respuesta #3 en: 20 Julio 2010, 05:09 am »

almacenalos en un string o en un array de chars
En línea

.:BlackCoder:.


Desconectado Desconectado

Mensajes: 388


Cada dia C++!!


Ver Perfil
Re: Cortar numeros
« Respuesta #4 en: 20 Julio 2010, 05:14 am »

A mi se me ocurre dividirlo entre 10 a la i, q seria la varable de un for que vaya de 4 en 4... Un ejemplo...

Código
  1. int x=12345678;
  2.    int y=x/1000;
  3.    cout<<y<<endl;

Saludos...

EDITO:

Eso no se entiende  :xD lo hice mas o menos como te dije... lo q pasa es que soy mejor en la practica  :xD No puedo ponerte el codigo...

Pero lo que hice fue que al numero le reste el resultado de dividir el numero entre 10 a la 4... Es decir entre 10000 y multiplicado nuevamente entre 10000... El casting lo hace todo  :xD

Me llevo como 5 lineas  :xD pero si no pones avance no puedo poner  el code

Saludos
« Última modificación: 20 Julio 2010, 05:41 am por .:BlackCoder:. » En línea

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



leogtz
. . .. ... ..... ........ ............. .....................
Colaborador
***
Desconectado Desconectado

Mensajes: 3.069


/^$/


Ver Perfil WWW
Re: Cortar numeros
« Respuesta #5 en: 20 Julio 2010, 06:59 am »

Yo sin dudarlo sería transformarlo a un array de caracteres y así procesarlo.
En línea

Código
  1. (( 1 / 0 )) &> /dev/null || {
  2. echo -e "stderrrrrrrrrrrrrrrrrrr";
  3. }
  4.  
http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com
Og.


Desconectado Desconectado

Mensajes: 822


Aprendiendo de la vida


Ver Perfil
Re: Cortar numeros
« Respuesta #6 en: 20 Julio 2010, 07:40 am »

Código
  1. int* parte(int valor, short int longitud)
  2. {
  3.    int *pedazos, l = 1, s = valor;
  4.    while(longitud--)
  5.        l *= 10;
  6.    longitud=1;
  7.    while(s/=l)
  8.        longitud++;
  9.    pedazos = new int[longitud];
  10.    while(longitud--)
  11.    {
  12.        pedazos[longitud] = valor % l;
  13.        valor /= l;
  14.    }
  15.    return pedazos;
  16. }

si la usas así:
Código
  1. parte(0123456789, 4);

te devolverá un arreglo así:

[0 ][1     ][2     ]
[1 ][2345][6789]

el que te lo devuelva alrrevez (como lo pediste):

[0     ][1     ][2]
[1234][5678][9]

ya tu lo deberás modificar :P

es solo una idea. Ojala te sirve de algo, Saludos!
En línea

|-
Littlehorse
All the world's a stage
Moderador
***
Desconectado Desconectado

Mensajes: 2.714


Nie Dam Sie


Ver Perfil WWW
Re: Cortar numeros
« Respuesta #7 en: 20 Julio 2010, 11:18 am »

Definitivamente, leer el contenido en una cadena y luego procesarlo previa validación es la forma mas eficiente, estable, y segura de hacerlo.

Saludos
En línea

An expert is a man who has made all the mistakes which can be made, in a very narrow field.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines