0
#include<stdio.h>
#include<conio.h>
#include<stdlib.h>
#include<ctype.h>
#include<string.h>

typedef struct Stack
{
    char info;
    struct Stack *next;
}Stack;

Stack *start=NULL;
Stack *cstart=NULL;//variable for copy of stack
Stack *rstart=NULL;//variable for reverse of stack


Stack* push(Stack *, char);
char pop(Stack *);

int main()
{
    char c;
    int flag=0;
    printf("Enter characters :");
    c=getchar();
    while( c !='\n' )
    {     //Checking whether 'c' is a alphabet or not.
         //White space is also not allowed.ASCII of space is 32
        //by writing c!=32 I mean that ASCII of c will not be 32
        if( isalpha(c) && (c!=32) )
        {
            start=push(start,c);
            cstart=push(cstart,c);
        }
        c=getchar();
    }

    while( start!=NULL )
    {
        rstart=push( rstart, pop(start) );

    }

    while( rstart!=NULL )
    {
        if( toupper( pop(rstart) ) == toupper( pop(cstart) )      )
            flag=1;
        else
        {
            flag=0;
            break;
        }

    }

    if(flag==1)
        printf("The string is a palindrome");
    else
        printf("The string is not a palindrome");

    getch();
    return 0;
}

Stack* push(Stack *rec, char info)
{
    Stack *new_rec;
    new_rec=(Stack *)malloc(sizeof(Stack));
    new_rec->info=info;
    new_rec->next=rec;
    rec=new_rec;

    return rec;
}

char pop(Stack *rec)
{
    char ch;
    Stack *temp;
    if(rec==NULL)
        printf("Stack is empty");
    else
    {
        temp=rec;
        ch=temp->info;
        rec=rec->next;
        free(rec);
    }

    return ch;
}
3
Contributors
4
Replies
25
Views
2 Years
Discussion Span
Last Post by jwenting
0

what does it do?
what do you expect it to do?
why do you expect it to do that?
what have you tried to find out why it's not doing what you expect it to do?

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.