Моя палиндромная программа не работает
Я попытался создать программу, которая проверяет строку, является ли она палиндромом или нет, но она выдает ошибку после того, как я даю ввод
Например, если я дам радар слово
он должен отображать палиндром
но он не работает должным образом нет никаких синтаксических ошибок пожалуйста помогите
Что я уже пробовал:
#include<iostream> using namespace std; class node{ public: char v; node *next; node *prev; }; class queue{ node *front,*rear; int size; public: queue() { front=new node(); rear=NULL; size=0; } void enqueue(char a) { node *newnode=new node(); newnode->v=a; if(rear!=NULL) { rear->next=newnode; rear->prev=front->next; newnode->next=NULL; newnode->prev=rear; rear=newnode; } else { front->next=newnode; front->prev=NULL; newnode->next=NULL; newnode->prev=front; rear->prev=front; rear=newnode; } size++; } int si() { return size; } int check() { int count; node *p=front->next; while(p!=NULL) { if(p->v==rear->v) { count++; } p->next; rear->prev; } return count; } }; int main() { queue q1; int s,num; cout<<"Enter size of string :"; cin>>s; char a[s],n; cout<<"Enter string :"; cin>>a; for(int i=0;i<s;i++) { n=a[i]; q1.enqueue(n); } num=q1.check(); if(s%2==1) { if(num==(s-1)) { cout<<"Palindrome"<<endl; } else { cout<<"not a Palindrome"; } } else { if(num==s) { cout<<"Palindrome"<<endl; } else { cout<<"not a Palindrome"; } } return 0; }