Program to check whether a string is palindrome or not?


void main()
{
char str[40];
int i,flag=0,len;
clrscr();
printf("\n Enter A string : ");
gets(str);
len=strlen(str);
for(i=0;i<(len/2);i++)
{
if(str[i]!=str[len-1-i])
{
flag=1;
break;
}
}
if(flag==1)
{
printf(" \n The string is not palindrome");
}
if(flag==0)
printf("\n String is palindrome");
getch();
}

Program to search One String in Another String


void main()
{
char main_str[40],str[40];
int i,j,len1,len2;
clrscr();
printf("\n Enter the main String :");
gets(main_str);
printf("\n enter the String you wanna search : ");
gets(str);
len1=strlen(main_str);
len2=strlen(str);
i=0;
j=0;
while(str[i]!='\0')
{
while(main_str[j]!='\0')
{
if(str[i]==main_str[j])
{
i++;
if(len2==i)
{
j=j-len2+2;
printf("\n found at %d location",j);
break;
}

}//if
else
j++;

}//inner while
if(j==len1)
{
printf("\n not Found");
break;
}//if

}//outer while
getch();
}

Program to swap two numbers without using 3rd variable


void main()
{
int a,b;
clrscr();
printf("\n enter First Number :");
scanf("%d",&a);
printf("\n enter Second Number :");
scanf("%d",&b);
swap(&a,&b);
printf("\n first Number is : %d",a);
printf("\n second Number is : %d",b);
getch();
}

swap(int *a,int *b)
{
*a=*a-*b;
*b=*a+*b;
*a=*b-*a;

}

Program to implement stack operations

int a[10],top;
void main()
{
int ch;
clrscr();
top=-1;
while(1)
{
printf("\n\t\t****MENU****\n");
printf("\n 1.Push\n 2.Pop\n 3.Display \n 4.Exit");
printf("\n\n Enter your Choice :");
scanf("%d",&ch);
switch(ch)
{
case 1:
push();
break;
case 2:
pop();
break;
case 3:
display();
break;
case 4:
exit();
}//switch
}//while
}

push()
{
int item;
printf("\n enter The Number You want to push :");
scanf("%d",&item);
if(top==9)
{
printf("\n overflow-You can't push");
}
else
{
top=top+1;
a[top]=item;
}
}//push

pop()
{
int item;
if(top<0) item="a[top];" top="top-1;" i="top;i">=0;i--)
{
printf("\n %d",a[i]);
}
}//display