Programa que construye palíndromos

Jorge Martínez
 
// Este programa construye un palíndromo a partir de una cadena dada.
// Un palíndromo es una cadena de caracteres que tiene simetría izqda-dcha.
// Ejemplo: "adan nada".
// Algoritmo de construcción del palíndromo:
// tomamos la cadena dada y le concatenamos su inversa.
 
#include <stdio.h>
#include <stdlib.h>

#define DIM 10

 
int main( )
{
      char *p,*q,*r;
      int i,j;
      p=(char*)malloc(DIM);
      q=(char*)malloc(DIM);
 
      printf("Dame una cadena: ");
      gets(p);
 
     /* inversión de la cadena dada */
      for(i=0;*(p+i)!=”;i++);           // llegamos a final de cadena p
      i–;                                             // nos situamos sobre el último carácter de la cadena
      for(j=0;i>=0;j++,i–)                 // invertimos cadena p sobre el array q
        *(q+j)=*(p+i);
      *(q+j)=”;
 
      r=(char*)malloc(2*DIM);
 
      for(i=0;*(p+i)!=”;i++)           // copiamos p sobre r
        *(r+i)=*(p+i);
      for(j=0;*(q+j)!=”;j++,i++)   // concatenamos q después de p sobre r
        *(r+i)=*(q+j);
      *(r+i)=*(q+j);
 
      printf("La cadena resultante es: %sn",r);   // r es el palíndromo
 
      system("PAUSE");
      return 0;
}

Anuncios

Acerca de programacion1z

Curso de introducción a la programación en C
Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Una respuesta a Programa que construye palíndromos

  1. Ricardo dijo:

    Observa que he añadido unos cuantos comentarios porque sinoresultaría difícil saber qué hace este programa, ya que de entrada no es trivial ver qué se está haciendo en cada paso.Así pues no está demás el acostumbrarse a poner unos pocoscomentarios a lo largo de un programa en aquellos puntos dondese codifican los puntos clave del algoritmo.pd: el nombre de estas cadenas no es ‘políndromo’ sino ‘palíndromo’.por lo demás, molto bene.ric.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s