You are on page 1of 7

//Basics of string

#include <stdio.h>
#include <string.h>

int main()
{
char str1[]={'A','M','M','A'\0'};
char str2[]="Rish";
char str3[10],str4[10],str5[10];

scanf("%[^\n]s",str3); // to take spaces also

gets(str4);
printf("%s %s\n",str1,str2);
printf("%d\n",sizeof(str2));

printf("%d\n",strlen(str1));
strcat(str1,str2);
strcpy(str5,str4);// To copy str4 to str5
puts(str5);

if(strncmp(str3,str4,4)==0)
{printf("Same String");}
else
{printf("Not equal");}
return 0;

//////////////////////////////////////////////////////////////////////

// to find max repeated char in string

#include <stdio.h>
#include <string.h>

int main()
{
char str[10],ch;
int max=0,count=0;
scanf("%[^\n]s",&str);
for(int i=0;str[i]!='\0';i++)
{
for(int j=0;str[j]!='\0';j++)
{

if(str[i]==str[j])
{
count++;
}
}
if(count>max)
{
max=count;
ch=str[i];
}
count=0;
}
if(max!=1)
{
printf("%c ",ch);
printf("#%d ",max);

else
printf("all char are same in num");
return 0;

}
/////////////////////////////////////////////////////////////////////
//String compression
//aaabcccda=> a4b1c3d1

int main()
{
int l1,l2,flag=0,freaq[128]={0};
char str1[20];
scanf("%s",str1);
l1=strlen(str1);
for (int i=0;i<l1;i++)
{
freaq[str1[i]]++;
if(freaq[str1[i]]>1)
str1[i]=0;
}
for (int i=0;i<l1;i++)
{
if(str1[i]!=0)
printf("%c%d",str1[i],freaq[str1[i]]);
}
return 0;
}

//////////////////////////////////////////////////////////////////////////
//To reverse a string

#include <stdio.h>
#include <string.h>

int main()
{
char str1[10],str2[10];
int count=0;
scanf("%[^\n]s",&str1);
for(int i=0;str1[i]!='\0';i++)
{
count++;

}
for(int i=0,j=count-1;str1[i]!='\0';j--,i++)
{
str2[j]=str1[i];
}
printf("%s\n",str2);
// (or)
for (int i=0;str1[i]!='\0';i++)
{
str2[count-i]=str1[i];
count--;
}
printf("%s\n",str1);
printf("%s\n",str2);
return 0;
}
///////////////////////////////////////////////////////////////////////////////////
////
// To convert a string vowels to %,consonants to # and small to uppercase
#include <stdio.h>
#include <string.h>

int main()
{
char str1[20],str2[20],str3[20];
scanf("%s",str1);
scanf("%s",str2);
scanf("%s",str3);
for(int i=0;str1[i]!='\0';i++)
{
if(str1[i]=='a'||str1[i]=='e'||str1[i]=='i'||str1[i]=='o'||str1[i]=='u')//
to check it is vowel

{str1[i]='%';}
}
for(int i=0;str2[i]!='\0';i++)
{
if(str2[i]!='a'&&str2[i]!='e'&&str2[i]!='i'&&str2[i]!='o'&&str2[i]!='u')
//to check for consonant

{str2[i]='#';}
}
for(int i=0;str3[i]!='\0';i++)
{
if(str3[i]>=97&&str3[i]<123) // to convert to upper case

{str3[i]=str3[i]-32;}
}
printf("%s\n",str1);
printf("%s\n",str2);
printf("%s\n",str3);
return 0;
}

//////////////////////////////////////////////////////////////////////

/// to take two strings from user and find they are anagram or not
//EAT & ATE are anagram || silent &listen are anagrams
//amma & mam are not anagrams

#include <stdio.h>
#include <string.h>

int main()
{
int l1,l2,flag=0;
char str1[20],str2[20];

scanf("%s",str1);
scanf("%s",str2);
l1=strlen(str1);l2=strlen(str2);
// printf("%d l1\n",l1);printf("%d l2\n",l2);
if(l1==l2){
for (int i=0;str1[i]!='\0';i++)
{
int count=0;
for (int j=0;str2[j]!='\0';j++)
{
if(str1[i]==str2[j]&&count==0)
{
str2[j]='0';
count++;
flag++;
}
}
}
}
// printf("%d\n",flag);
//printf("%s\n",str2);
if(flag==l1)
printf("Anagram");
else
printf("Not anagrams");
return 0;
}
.....................................................................
//To find num of commom elements b/w two strings
#include <stdio.h>
#include <string.h>
int main()
{
int flag=0,count=0;
char str1[20],str2[20];
scanf("%s",str1);
scanf("%s",str2);
for (int i=0;str1[i]!='\0';i++)
{
int flag=0;
for (int j=0;str2[j]!='\0';j++)
{
if(str1[i]==str2[j]&&flag==0)
{ str2[j]='0';
count++;
flag++;
}
}
}
printf("%d",count);

return 0;
}
////////////////////////////////////////////////////////////////////
int main()
{
int l1,l2,flag=0,freaq[128]={0};
char str1[20],str2[20];

scanf("%s",str1);
scanf("%s",str2);
l1=strlen(str1);l2=strlen(str2);
// printf("%d l1\n",l1);printf("%d l2\n",l2);

for (int i=0;str1[i]!='\0';i++)


{
freaq[str1[i]]++;
}

for (int j=0;str2[j]!='\0';j++)


{
freaq[str2[j]]--;
}

if(freaq[str1[i]]!=0)
{
printf("not Anagram");
return 0;
}
}
printf("anagram");
return 0;
}

///////////////////////////////////////////////////////////////////////
// to find substring function
#include <stdio.h>
#include <string.h>

int main()
{
char str[10],sub_str[10];
int cnt=0,start,flag=1,pos=0;
printf("\nenter string: ");
scanf("%s",&str);
printf("\nenter substring: ");
scanf("%s",&sub_str);
int len=strlen(sub_str);

for (int i=0;str[i]!='\0';i++)


{
start=i;
for (int j=0;sub_str[j]!='\0';j++,start++)
{
if(str[start]==sub_str[j])
{
cnt++;
}
}
if(cnt==len)
{
printf("\nsubstring is present");
flag=0;
pos=i;
printf(" at position %d",pos);
break;
}
}

if(flag==1)
{
printf("\nsubstring is not present");
}
return 0;
}

////////////////////////////////////////////////////////////////////////
//to remove adjecent duplicate characters
//aaabcc ->abc

#include <stdio.h>
#include <string.h>

int main()
{
char str[10];
int max=0,count=0;
scanf("%[^\n]s",&str);
for(int i=0;str[i]!='\0';i++)
{
if(str[i]==str[i+1])
{
for(int j=i;str[j]!='\0';j++)

str[j]=str[j+1];i--;
}
}
printf("%s",str);
return 0;
}
/////////////////////////////////////////////////////////////////////////////////
//given string is rotation of another string

#include <stdio.h>
#include <string.h>
int main()
{
char str[20],substr[20];
gets(str);gets(substr);
int l1=strlen(str),l2=strlen(substr);
if(l1==l2)
{
strcat(str,str);
char *ptr;
ptr=strstr(str,substr);// in built function to find substring
if(ptr>0)
printf("yes");
else
printf("false");
// printf("\n%s",strtemp);
}
return 0;

}//////////////

You might also like