FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Ordenar digitos de menor a mayor
ola..saludos a todoj. bueno .. aca el problema
quisiera que me corrigan lo que hise. Ordenar digitos de un numero de menor a mayor--- ejem---N= 54321--N= 12345 //Aca esta la unidad con la que se supone tengo que hacer el ejercicio// //Esto es lo que yo hice.. (lo hice en vector.. solo que tengo un problema.. al pasarlo en numero natural..)
Última edición por luisito2011 fecha: 04-05-2011 a las 20:18:52. |
#2
|
||||
|
||||
Luisito, creo que tu problema está en los indices que utilizas en los bucles de ordenamiento... Por lo menos, en el "método de la burbuja" debería ser:
Por otro lado te aconsejo, para mejorar tu clase: 1) utiliza las propiedades, son poderosas...
De esta manera, no tenbdrias que llamar directamente el método: AsignarValor así:
2) ¿Porqué el ordeamiento o hace parte de la clase?,
Eso por ahora... Un saludo, |
#3
|
|||
|
|||
.... eso de for.. si esta bien.. por que me funciona en vector
.... y tengo que resolver el ejercicio .. utilizando la unit.. que esta arriba.. y no puedo añadir ... o borrar .. nada de la unit... |
#4
|
|||
|
|||
respondan .... porfavor
|
#5
|
||||
|
||||
me he dado cuenta que a nuestro amigo luisito, le han dejado en su centro de estudios varios ejercicios y encima le han dado una libreria con la cual poder resolverlos
entonces (y no quiero ser despectivo ni petulante), creo que es cuestion de pensar y analizar un poquito cual es la solucion (con un martillo no puedo sacar clavos de una madera) y me uno a lo menciono Roman en otro hilo
__________________
Dulce Regalo que Satanas manda para mi..... |
#6
|
||||
|
||||
Además de que hace falta que le des una releída a nuestra guía de estilo, amigo luisito2011, aquí estamos para ayudar, pero no para hacerle el trabajo a los demás. Si tanto te urge entonces tendrás que buscar a un profesional que te ayude, te pase la minuta, etc.
|
#7
|
||||
|
||||
No se si reir o llorar...
Bueno luisito... 1) ¿a que te refieres con eso de: "con vector si funciona"?... por que no nos muestras el codigo ejemplo.. 2) ¿A que te refieres con que "no funciona"?, te sale error?, te miuestra un numero, pero te lo muestra mal?? 3) hice la prueba y efectivamente el ordenamiento sirve... pero veo que el probelma esta en el intercambio que haces en el codigo interno...
Es decir... si has analizado lo que esto hace???? No hay que hacer debug para ver que en cada iteraccion se destruye el numero..!!! Si tenemos un valor b.Valor ==> 89675 entonces: x:=8 //en la primera iteraccion b.Valor==> (9) * 10 + 8 ..!!! En tu segunda iteraccion vale 98... es decir... 89675 se convirtio en 98... ¿Sabes como hacer un seguimiento paso a paso? podrias valerte de un memo o algo para ver lo que tu codigo esta mostrando... un saludo. |
#8
|
|||
|
|||
Cita:
no pue.. si yo quisiera que me resuelvan todo.. les pongo todos ejercicios... que me dieron.... de los 50.. son como 10 o 5..que me parte la cabeza..ademaj... solo posteo.. los que.. no le entiendo.. y solo les pedi...una ayuda... ni modo graciaj de todoj modos bye |
#9
|
|||
|
|||
[quote=gatosoft;398969]No se si reir o llorar...
voj.. si querej reite llora... hace lo que voj queraj..viejo.. nadie nace sabiendo... quote] |
#10
|
||||
|
||||
Tienes toda la razón, amigo, el problema es que nos parece que no estás haciendo mucho esfuerzo, que estás exponiendo tus problemas un poco superficialmente a la espera de que te lo solucionen. Pero ya te digo, es la sensación que nos da.
Aquí no hay ningún problema en ayudar, al contrario, eso es lo que hacemos todos, para eso existe estos foros, pero la mayoría de esos problemas que nos relata no son "problemas", son cosas que se solucionan poniéndose a seguir paso a paso el código y pensando un poco. Además que tienes la opción de buscar, hay cientos de miles de posts, también tienes la sección de trucos, y el FTP con muchísimo código, tutoriales, programas, ejemplos, libros, etc. En fin, no estoy contando nada que no esté escrito en nuestras normas, la guía de estilo. Saludos. |
#11
|
||||
|
||||
Cita:
Cita:
Ya en un hilo pasado habia pasado algo parecido contigo, y apoyo el comentario de casimiro cuando dice Cita:
Vaya amigo, ya tienes un buen numero de post en este sitio, otros han abandonado ante la primera insinuación de "visitar la guia de estilo"... Te invito a que continues, pero por favor intenta tambien comprender que estamos aqui por que nos gusta ayudar y no por que tengamos que hacerlo... desde ese punto de vista no sobra un "por favor" y un gracias" pero de corazón. y bueno, ya volviendo sobre tu tema, te repito mi teoria sobre la causa del error: está en las líneas:
Debes generar un procedimeitno para reemplazar un digito dentro del número:
Un saludo, |
#12
|
|||
|
|||
mmm bueno eso del esfuerzo... si lo hago..
solo que si.. lo acepto es como si no lo haga... //beuno dejando eso aparte.. aca resolvi mi problema... solo que solo me funciona con 8 digitos..cuando pongo mas de 9.. error..// me pueden decir por que...
|
#13
|
||||
|
||||
¿Y qué error es?
|
#14
|
|||
|
|||
saludos.
porque no usas la propiedad invertir? Código:
program Project1; {$APPTYPE CONSOLE} uses SysUtils,caja1; var a:cnumeronatural; X:integer; begin a:=cnumeronatural.crear; Writeln('Digite un Numero'); Readln(x); a.AsignarValor(x); a.Invertir; writeln('Numero Ordenado De Menor a Mayor ',a.obtenervalor); readln; end. |
#15
|
|||
|
|||
el error que me sale.. es // fuera de rango//
|
#16
|
|||
|
|||
Cita:
ordenados como 98765.. o 654321.. //Y sobre el error .. me sale fuera de rango..// / |
#17
|
||||
|
||||
Hola Luisito.
Este método 'tendría' que ordenarte lenta pero correctamente los dígitos de menor a mayor: Y digo 'tendría' por que así lo haría si el método InsertarDigito funcionara como se espera... Como un ejemplo vale más que mil palabras, intentemos llenar los 6 dígitos de una cifra con ceros: Seguro que esperabas ver: 000000, pero por suerte la programación nunca deja de sorprendernos... El resultado es: 3569126384 Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 06-05-2011 a las 08:32:24. |
#18
|
|||
|
|||
Cita:
no remplaza al digito... ejem... si quiero ordenar esto 54.. solo 2 numeros mi respuesta sera esto 445554.. eso es con tu procedure.. por eso en mi procedure.. utilize .. eliminardigito... pero solo me funciona con 8 digitos... |
#19
|
||||
|
||||
Hola Luisito.
Entonces malinterpreté la función que realiza el método InsertarDigito. (Errare humanum est... ) En cuanto al error que te genera al usar más 8 dígitos vas a tener que hacer un seguimiento del comportamiento del método o los métodos que te lo generan. Podés poner un break y hacer un TraceInto (F7) para ir viendo el comportamiento del método y también ir evaluando los valores que asumen sus variables. Lamento no disponer del tiempo para hacer esa tarea. Un saludo.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿como hago para comprobar si un nº de versión es mayor o menor? | cocute | Varios | 8 | 21-01-2010 11:31:13 |
Fecha de mayor a menor | alcides | Varios | 2 | 15-02-2008 16:46:09 |
Conocer el menor inexistente | brandolin | Firebird e Interbase | 3 | 25-01-2007 12:27:00 |
ordenar un DBGrid de mayor a menor | jmlifi | Varios | 2 | 03-11-2005 16:36:34 |
Agrupamiento mostrando el menor | agonzalez | SQL | 3 | 19-02-2004 23:29:19 |
|