![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|
|
#1
|
||||
|
||||
|
karen08,
Bienvenido/a a ClubDelphi. Como recién te ingresas, te recomiendo una lectura a la guia de estilo. Sobre todo considerando el hecho de que pides una "tarea" de mala manera. Aqui no hacemos las cosas con urgencia. Espero que sepas entender que aqui ayudamos desinteresadamente y empleamos el tiempo libre que dispongamos para ofrecer dicha ayuda. Con respecto a tu pregunta, ¿Podrías detallar y profundizar más tu pregunta? No te cobramos por la cantidad de palabras. No logro entender y captar tu problema. Saludos, |
|
#2
|
|||
|
|||
|
hola
disculpa por lo anterior.... solo que necesito saber como resover un ejercicio en delphi utilizando punteros, este consiste en que el programa debe mostrar el abesedario completo en una lista en un lis box |
|
#3
|
||||
|
||||
|
karen08,
No es por malo... ¿Puedes indicar si lo que deseas es emplear una lista (estructura de datos abstracta) para mostrar el abecedario o por el contrario deseas mostrar en un ListBox? O en un tercer caso... ¿tienes una lista (la estructura de datos) y deseas mostrar dicha lista en un ListBox? Como te dije, no te cobramos por las palabras. Cuanto más nos puedas decir mejor y es para ti y más fácil para nosotros tratar de encontrar una solución a los problemas. Si tienes hecho ya un código sería bueno que lo expongas. Para que el código sea entendible, al copiarlo aquí encierralo entre las etiquetas DELPHI. Algo así: [ DELPHI ] (sin los espacios) aqui viene tu código... [ /DELPHI ] (sin los espacios) Si encuentro un moderador le pido que mueva este hilo a Varios que es el lugar indicado en donde tratar el tema. ¿Te parece? Saludos, |
|
#4
|
|||
|
|||
|
Cita:
if primernodo^.letras> nuevonodo^.letras then begin nuevo^.putsig(primernodo) primernodo:=nuevonodo; |
|
#5
|
||||
|
||||
|
karen08, ese código no basta para saber donde tienes el problema. Debes proporcionar mayor información.
Se que cada uno tiene sus tiempos y sus prisas, pero con prisas y exponer menos que lo mínimo para poder ver tu problema no solucionas nada. Se más consciente por favor y permite a los demás que te ayudemos. Da a conocer tu código con mayor claridad, con esas líneas poco puedo decirte. Te lo pido de la mejor manera posible, ayudanos a ayudarte. Sin ver más no puedo saber donde está el problema. Saludos, |
|
#6
|
|||
|
|||
hola saludos la presente es para pedir una ayuda para resolver un problema que anteriormente habia anunciado en el club. el problema consiste en diseñar e implementar una clase que permita crear una lista simple ordenada ascendentemente; y cada nodo debe almacenar una letra del alfabeto.unit Uplista; interface type TPclase=^TClistletras; TClistletras=OBJECT letras:string; sig:TPclase; procedure putletras(_letras:string); procedure putsig(_sig:tpclase); function getletras:string; function getsig:tpclase; constructor init; destructor liberar; procedure insertar(otronodo:tpclase); end; var primernodo,anteriornodo,nuevonodo:tpclase; implementation uses Unit1; { TClistnum } function TClistletras.getletras: string; begin Result:=letras; end; function TClistletras.getsig: tpclase; begin Result:=sig; end; constructor TClistletras.init; begin New(nuevonodo); end; procedure TClistletras.insertar(otronodo: tpclase); begin IF primernodo = NIL THEN begin primernodo:= otronodo; anteriornodo:= otronodo; anteriornodo^.sig:= nil; End else Begin anteriornodo^.sig:=otronodo; anteriornodo:= otronodo; anteriornodo^.sig:= nil; End; while primernodo <> nil do if primernodo ^.letras > nuevonodo ^.letras then begin nuevonodo ^.putsig(primernodo); primernodo:=nuevonodo; end; end; destructor TClistletras.liberar; begin dispose(nuevonodo); end; procedure TClistletras.putletras(_letras: string); begin letras:= _letras; end; procedure TClistletras.putsig(_sig: tpclase); begin sig:= _sig; end; end. |
|
#7
|
||||
|
||||
|
karen08,
Mil disculpas. Me he enredado con otros asuntos y se me olvidó de esto. Estuve buscando entre mis apuntes de lenguaje aquellos ejercicios de punteros pues creía recordar que hice uno así... pero no los encontré. Quedaron en en Limbo del viejo disco duro... No recuerdo mucho de pilas, colas y listas con punteros... por lo que no lo tengo demasiado fresco. Se que es algo simple, es cuestión de que haga memoria... y si me das hasta mañana te puedo adelantar algo como para que veas. No quiero hacerte alegrar demasiado. Por lo que veo a simple vista hay unos errores: La declaración correcta para conformar los nodos es así:
En tu código estás mezclando objetos con la declaración de los nodos. ¿Debes crear una clase que implemente dichos procedimientos y que use internamente a la lista de nodos? Si es así, la declaración de la clase es:
Según mi percepción Lo que se debe hacer es que si se necesita armar el abecedario sólo basta con emplear Agregar() que lo que hace es insertar al final de la lista el siguiente nodo con la info necesaria, y la función GetLetra que se encargaría de regresar la letra que se encuentre en la posición Posic (siempre y cuando existan una cantidad de nodos al menos igual a Posic) De hecho... (según entiendo yo) para el uso de la clase no tendría sentido la función Agregar. Sino más bien que en Create tranquilamente se puede conseguir armar el abecedario en forma "automática". Ya que disponder de un Agregar() puede llevarnos a algo como esto: ABDFTRUV y como bien sabemos... esto no es el abecedario. Es decir que lo que yo haría es mover la declaración Agregar en private y llamarla dentro de Create. Algo así:
Y bueno... también debería disponer de un Eliminar, de modo que en Destroy podríamos hacer algo así:
Obviamente Eliminar debería hacerlo desde el final o el principio (según como te resulte más cómodo). Espero que te resulte útil estos tips. Como dije... dame un tiempito y te doy una muestra sencilla. Saludos, |
|
#8
|
||||
|
||||
|
Bueno. Lo prometido es deuda.
me tomé unos minutos y desarrollé un ejemplo implementando una estructura LIFO. Es decir una Cola. Lo que hice es implementar una classe TABC que viene con el código encapsulado para agregar, borrar, inicializar, etc.. ¿Porqué una clase? Pues a mi me da la impresión de que quieres intentar hacer una clase por lo de:
Me he acostumbrado a codificar en Inglés o pseudoInglés... espero que no te moleste. Agregué los comentarios que me parecieron indicados exponer. Bueno. La unidad es como sigue:
Un ejemplo de uso, cargando un ListBox:
Creería que con eso puedes darte una idea de como implementarlo con otras estructuras, por ejemplo FIFO. Si tienes dudas, avisa. Saludos, PD: Si algún moderador pasa por aquí, que mueva a este hilo a la sección adecuada ya que el tema no correspondería al subforo Internet. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| uso de punteros | David | OOP | 19 | 14-12-2009 09:48:37 |
| Punteros | davitcito | Varios | 2 | 25-04-2005 22:46:24 |
| Hay punteros en java? | Trigger | JAVA | 2 | 05-10-2004 21:28:20 |
| Punteros | rafadrover | OOP | 8 | 18-09-2003 10:09:47 |
|