22R21A04F7 Tejesh 3 - Week - Ds 1
22R21A04F7 Tejesh 3 - Week - Ds 1
WEEK -3
NAME: K. TEJESH K
DATE: 10/10/2023
Deleted element: 9
Deleted element: 6
Queue elements: 3 1 -5
input: top;
char items[n];
char str[n];
Syntax:
bool isPalindrome(char str[]) {
int len = strlen(str);
for (initilization;condition;incremant / decrement) { if (condition) {
if (condition) {
block of statements
return false;}}
return true;}
int main() {
char str[size];
block of statements;
If(condition){block of statements;
}
Else{
block of statements;}
return 0;
}
PROGRAM :
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
#define n 100
struct Stack {
int top;
char items[n];
};
void push(struct Stack *s, char c) { s->items[++s->top] = c; }
char pop(struct Stack *s) { return s->items[s->top--]; }
bool isEmpty(struct Stack *s) { return s->top == -1; }
bool isPalindrome(char str[]) {
struct Stack stack = { -1 };
int len = strlen(str), i;
for (i = 0; i < len / 2; i++) push(&stack, str[i]);
if (len % 2 != 0) i++;
while (str[i]) if (pop(&stack) != str[i++]) return false;
return true;
}
int main() {
char str[n];
printf("Enter a string: ");
scanf("%s", str);
printf(isPalindrome(str) ? "PALINDROME\n" : "NOT a PALINDROME\n");
return 0;}
Testcase: