FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Opino igual que el post anterior. Nunca es bueno dar las tareas hechas , y si es el caso, podrias decir que no tienes ni idea de como hacerlo.
El problema en si es bastante sensillo, es solo cosa de aislar las palabras usando los espacios como separador. La comprobacion es mas sencilla aun, recorres cada palabra en ambas direcciones y asi compruebas si es o no palindromo, la verdad se me ocurren muchas formas de como hacerlo. Si tienes algo, postealo, se revisa y se te ayuda. |
#2
|
||||
|
||||
Para quitar o eliminar los espacios creo que se usa TRIM('hola amigos '), pero revisa la ayuda de Delphi.
Al igual que para dejar todo en mayúscula prueba con UPPERCASE('holaamigos'), pero consulta la ayuda de Delphi. Puedes tratar la palabra como un arreglo de caracteres y manejarlo con un loop, como por ejemplo: Para Texto:= 'RECONOCER'; Texto[0] = R Texto[1] = E ... ... Texto[8] = E Texto[9] = R Entonces vas comparando desde los extremos hacia el centro, si hay diferencias, entonces no es palindrome. Texto[0] = Texto[9] Texto[1] = Texto[8] Usando Condiciones, Loop y la funchión Length estas al otro lado. Con esto mismo y previo, vas reemplazando las vocales tildadas por unas que no.
Esa es la idea pero no se si esta correcta la estructura de CASE, revisa la ayuda de Delphi... Finalmente, no te puedes presentar así, pidiendo que te hagamos todo el trabajo, muy mal augurio si lo tuyo tiene que ver con informática. Para que tengas de prueba: Cita:
Última edición por MAXIUM fecha: 29-03-2009 a las 06:02:52. |
#3
|
||||
|
||||
Hola a todos,
MAXIUM dio unos buenos tips. Yo solo quiero hacer dos observaciones: 1. En vez de UpperCase, yo recomiendo AnsiUperCase. Revisar la ayuda para más información. 2. La estructura CASE es case ... of. Saludos, |
#4
|
||||
|
||||
Mira este código que acabo de preparar, puedes crear con él una función o símplemente modificarlo, nota utilizo dos "Edit", para que resulte más didáctico, pero obviamente no son necesarios.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#5
|
||||
|
||||
Habrá inconvenientes con las letras que lleven acentos o diéresis, pues todas las funciones nativas discriminan entre letras con diacríticos y sin diacríticos (a no ser que se me escape alguna).
La solución a esto pasa por emplear "mapeo" de caracteres. Digamos una constante String con las letras que pueden llevar diacrítico, pero sin él, y una segunda constante String con las mismas letras pero con el diacrítico puesto. Pero si se quiere impresionar al profesor y se cuenta con el tiempo y la disposición suficientes para investigar, convendría recurrir a la función MultiByteToWideChar de la API de Windows. Ya que ésta permite separar las partes de un carácter compuesto, digamos una a acentuada (á) en las partes que la componen (a y ´). Sólo tener cuidado de exceptuar a la eñe, que por alguna "extraña" razón fue tomada como letra compuesta por algún ingeniero en alguna parte del mundo. Un saludo. Al González. Última edición por Al González fecha: 30-03-2009 a las 06:24:02. |
#6
|
||||
|
||||
Yo pensé que esto no era problema con "AnsiUpperCase"...
__________________
|
#7
|
||||
|
||||
Lo que tiene ANSIUpperCase es que considera a todos los caracteres del idioma actual, incluyendo los acentuados. Pero no da por iguales a una "a" y una "á".
Sería terrible que ANSIUpperCase quitara los acentos al convertir a mayúsculas. |
#8
|
|||
|
|||
Les dejo una funcion para extraer los simbolos (letra pura) de caracteres multybyte, en resumen, quitar acentos y otras hierbas usando la api mencionada arriba. Un detalle importante es que esto lo hice en Delphi 2009, en versiones anteriores la declaracion de uso de la api podria variar y por tanto las funciones que puse, no funcionaran, esto porque la declaración es ahora Unicode.
Última edición por Cheerpipe fecha: 30-03-2009 a las 17:11:00. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Como averiguar que un fichero ha finalizado su creacion ? | QuarkBcn | API de Windows | 3 | 11-03-2009 13:34:55 |
frase palindromo | lakers | Varios | 24 | 24-05-2007 00:34:05 |
Como averiguar los procesos inactivos | abracadabra | API de Windows | 0 | 16-12-2005 22:36:59 |
Como averiguar el usuario de windows | Telemaco | PHP | 8 | 26-07-2004 10:15:10 |
Como averiguar si hay un campo en la Db | Jose Manuel | Tablas planas | 3 | 23-08-2003 19:08:50 |
|