SoloCodigo

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
  1.  
  2.   String: packed array[1..255] of char;
  3.  
  4.  
             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