Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - Kaori22

#1
Buenas noches, agradecería si me ayudaran con mi código, por favor, ya que sólo me dice si una palabra es palíndromo pero si introduzco una frase, no funciona. Mi profesora me dijo que con el valor de N, ya sin los espacios, tenía que hacer el bucle (con for) y comparar cad[0] con cad[N-1]; cad[1] con cad[N-2] y así hasta llegar a cuando N es igual a la mitad de la cadena, pero creo que no supe como hacerlo. Este es mi código:

#include <stdio.h>
#include <conio.h>
#include <string.h>
#define L 50

void LEER_CADENA(char []);
void VER_CADENA(char []);
void QUITAR_ESPACIOS(char [], char []);
void PALINDROMO (char[], char[]);

int main(){
    char CAD[L];
    char CADNUEVA[L];
    int CON;
    LEER_CADENA(CAD);
    QUITAR_ESPACIOS(CAD,CADNUEVA);
    VER_CADENA(CADNUEVA);
    PALINDROMO(CAD,CADNUEVA);
    getch();
}

void LEER_CADENA(char cad[]){
    printf("Ingresa la cadena: ");
    gets(cad);
}

void VER_CADENA(char cadnueva[]){
    printf("\nLa cadena ingresada es: %s",cadnueva);
}

void QUITAR_ESPACIOS(char cad[], char cadnueva[]){
    int i,j,n;
    i=0;
    j=0;
    n=strlen(cad);
    for(i=0;i<n;i++){
        if(cad[i]!=' '){
            cadnueva[j]=cad[i];
            j=j+1;
        }
    }
}

void PALINDROMO(char cad[], char cadnueva[]){
    int i,m,n;
    i=0;
    m=0;
    int cont=0;
    n=strlen(cad);
    for(i=0;i<n/2;i++){
            if(cad[i]!=cadnueva[m]){
                cont++;}
            if(cad[i]!=cadnueva[m]){
                cont++;}
            if(cad[i]!=cadnueva[m]){
                cont++;}
    }
    if(cont==0) printf("\n\nEs un palindromo.\n");
    else printf("\n\nNo es un palindromo.\n");
}


MOD: Etiqueta GeSHi