FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Problema al implementar Pilas
Despues de 1 año de no haber programado en delphi tube problemas al tratar de implementar el algoritmo que transforma una cadena de numeros y operadores a otra, lo que es llamado de infija a posfija,no logro darme cuenta cuall es el problema , se los agradeceria si podrian ayudarme.
Gracias
Última edición por xeelons fecha: 06-04-2010 a las 20:16:08. |
#2
|
|||
|
|||
Eso no compilará jamás en Delphi porque Delphi es OO.
Ese programa está hecho para Pascal, programación procedural. Otra cosa, este procedimiento no te va a devolver nada porque el parámetro x está pasado por valor y no por referencia. Tendrías que pasarlo por referencia (var) para que te devuelva algo (o mejor, hacer una función). Si es otro el problema, avisá y miro lo demás. |
#3
|
||||
|
||||
Delphi está basado en Pascal y puede programarse proceduralmente sin ningún problema.
Otra cosa es que realmente no compila porque hay muchas declaraciones sin tipo como
Yo le recomendaría a xeelons que primero corrija ese tipo de errores para que compile y luego comente qué problemas le da el algoritmo. Y, claro, no deja de ser recomendable comenzar a trabajar más OOP y menos P // Saludos |
#4
|
|||
|
|||
si tienes razon,pero cuando copie y pege el codigo si especifique el tipo de variable que es P: Pila; pero por algun motivo no aparece en el post ,ya intente modificarlo,pero sigue sin aparecer correctamente.
lo que quiero saber es por que no se ejecuta el bucle for,creo que el error tiene ver con esta parte del codigo: '0'..'9'osfija[i]:=infija[i];debe de ser '0'..'9'osfija[i]:=infija[i]; mejor subire el archivo |
#5
|
||||
|
||||
Ja, ja, ok. Creo que es un filtro del editor. Lo que pasa es que :p se usa para poner la carita y supongo que por eso se confunde y lo omite.
En fin, razón de más para recordar que conviene anteponer una T a los tipos de datos:
Si el ciclo for no se ejecuta, da la impresión de que en la llamada
el usuario cancela el cuadro de diálogo y el valor devuelto es una cadena vacía. ¿Has verificado eso? // Saludos |
#6
|
|||
|
|||
Si tienes razon ,ahora usare el T. bueno creo que ya solucione parte de mi problema,este era que cuando cree la varialble posfija como string surge algun tipo de error con posfija[i]:=infija[i].
la forma en que solucione este problema es el siguiente: posfija[i]:=infija[i]; lo reemplaze con y antes del bucle for,inicializarla con posfija:=' ' ; vacio. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problema al implementar un bbcode en php | gulder | PHP | 0 | 10-11-2008 14:05:00 |
Clases - pilas - colas | Manshula | OOP | 6 | 21-05-2008 20:05:15 |
Ayudaaa Pilas estaticas | alekandro | OOP | 6 | 26-04-2006 14:04:11 |
Pilas 'nuevas' al minuto | Investment | Noticias | 0 | 30-03-2005 15:24:21 |
|