You are on page 1of 4

#include<stdio.

h>

void substring(char * , char *, int ,int );


void palindrom (char * );
void compare (char * , char * );
void copy (char * , char * );
void reverse (char * , char *);

int begin, middle, end;

int main()
{

char a[10], b[10];


int position, length,ch,cont;

do
{

printf("\n Enter your choice: \n 1.Substring 2.Palindrom 3.Compare 4.Copy


5.Reverse:");
printf("\n Choice:");
scanf("%d",&ch);

switch(ch)
{
case 1:

printf("\n Input a string:");


scanf("%s",a);

printf("\n Enter the position and length ofsubstring:\n");


scanf("%d%d", &position, &length);

substring(a,b,position,length);
break;

case 2:

printf("Enter String to check palindrom:");


scanf("%s",a);
palindrom (a);
break;

case 3:

printf("\n Input first string:");


scanf("%s",a);
printf("Input second string:");
scanf("%s",b);
compare (a,b);
break;
case 4:
printf("Enter String to copy:");
scanf("%s",a);
copy (a,b);
break;
case 5:
printf("Enter String to reverse:");
scanf("%s",a);
reverse (a,b);
break;

default:
printf("\n Invalid Choice");

}
printf("\n Do you Want to continue 1.Yes 0.No");
scanf("%d",&cont);
}while (cont==1);

return 0;
}

void substring(char * string, char * sub, int position,int length)


{
int i=0;
while (i < length)
{
sub[i] = string[position+i-1];
i++;
}
sub[i] = '\0';
printf("\n Required substring is: %s: ", sub);
}

void palindrom (char * string)


{
int length = 0;
while (string[length] != '\0')
length++;

end = length - 1;
middle = length/2;

for (begin = 0; begin < middle; begin++)


{
if (string[begin] != string[end])
{
printf("\n %s is Not a palindrome.\n",string);
break;
}
end--;
}

if (begin == middle)
printf("\n%s is a Palindrome.\n",string);

}
void compare (char * a, char * b)
{
int i=0;
while (a[i] == b[i])
{
if (a[i] == '\0' || b[i] == '\0')
break;
i++;
}

if (a[i] == '\0' && b[i] == '\0')


printf("Equal strings.\n");
else
printf("Unequal strings.\n");

void copy(char *a, char *b)


{
int i = 0;

while (a[i] != '\0')


{
b[i]=a[i];
i++;
}

b[i]='\0';
printf("\n Original String is:%s",a);
printf("\n Copied String is:%s",b);
}

void reverse (char * string,char * rev)


{

int length = 0;

while (string[length] != '\0')


length++;

end = length - 1;

for (begin = 0; begin < length; begin++)


{
rev[begin]=string[end];
end--;
}
rev[begin]='\0';
printf("\n Reverse String is:%s",rev);

You might also like