Programación General => Pascal => Mensaje iniciado por: baladi9 en Viernes 21 de Abril de 2006, 04:48
Título: Palabras Palindromes
Publicado por: baladi9 en Viernes 21 de Abril de 2006, 04:48
Holas necesito construir con urgencia un programa en pascal que identifique una palabra palindome, no puedo ocupar array ni vectores por lo cual no c me ocurre como hacerlo, si alguien me pudiese ayudar con alguna idea, seria genial :D , ya que mi profe lo dio de tarea con disertacion y todo y al parecer ni ella sabe como se hace <_< , muchas gracias de antemano bye :hola:
Rake.
Título: Re: Palabras Palindromes
Publicado por: Enko en Viernes 21 de Abril de 2006, 21:04
Hola
Primero: ¿Que es una palabra palindrome? Segundo: El tipo de datos String de Pascal es un vector y está definido como:
Código: Text
String: packed array[1..255] of char;
Como dato informativo> El elemento 0 (cero) del vector posee la longitud de la cadena, por eso String[0] te devuelve la longitud.
Por eso me surge la duda de eso de 'No usar vectores'.
Al menos que quiera que lees caracter por caracter la palabra y usas listas enlazadas de punteros. Pero lo veo medio inutil. Antes que nada, ?Que es una palabra palindrome?
Título: Re: Palabras Palindromes
Publicado por: shakka en Viernes 21 de Abril de 2006, 22:37
Mas bien sera palindromo (http://es.wikipedia.org/wiki/Palindromo)
Como dice Enko, si no se puede usar arreglos, la unica forma que yo conozco es con listas enladas, sino como hacer para recorrer la cadena ¿? :(
Si ya te enseñaron esos conpetos de estructura de datos, pues entonces ya sabras como implementarlo. :ph34r:
Título: Re: Palabras Palindromes
Publicado por: Enko en Viernes 21 de Abril de 2006, 22:49
Lo que a mi me resulta sin sentido, es ¿como se va hacer para leer la palabra? ¿letra por letra? (un poco lento....) :kicking:
Título: Re: Palabras Palindromes
Publicado por: kemer0 en Domingo 15 de Octubre de 2006, 06:11
Soy novato pero en este ayudo.
Program palindrome; Var palabra:string; I, N, cont: integer; M:real; Begin cont:=0 Writeln ('Ingrese una palabra'); readln (palabra); N:= (length(palabra)); If N mod 2=0 Then M:= N/2 Else M:= (N/2)+0.5; For I:= 1 to N do Begin If PALABRA=PALABRA[N-I+1] then cont:=cont+1 end; If cont=N Then writeln ('La palabra es palindrome'); If cont <> N then writeln ('La palabra no es palindrome'); Readln; End.
Espero que les sirva P.D: las palabras palindromes son las que se leen igual al derecho y al reves, ejemplo NEUQUEN