Already have an account? Get multiple benefits of using own account!
Login in your account..!
Remember me
Don't have an account? Create your account in less than a minutes,
Forgot password? how can I recover my password now!
Enter right registered email to receive password!
Aim: To implement a program for following string operations:
Code:
class String
{
char str[50];
public:
String();
void getdata();
int length1();
void concat(String s);
String substring(int ind, int len);
char charAt(int ind);
int indexOf(char ch);
String reverse();
void display();
};
void String::display()
cout< } void String::getdata() { gets(str); } String::String() { strcpy(str,""); } int String::length1() { int l; l=strlen(str); return (l); } void String::concat(String s) { strcat(str,s.str); } String String::substring(int ind, int len) { int l,x,m; char su[50]; String sub; strcpy(sub.str,""); for(x=ind,m=0;x<=len+1;x++,m++) { su[m]=str[x]; } su[m]='\0'; strcpy(sub.str,su); return (sub); } char String::charAt(int ind) { char c=' '; int l=strlen(str); if(ind>l) cout<<"Position out of Bounds"; else c=str[ind]; return (c); } int String::indexOf(char ch) { int x=1; while(str[x]!=ch && str[x]!='\0') x++; if(str[x]!=ch) return (-1); else return (x); } String String::reverse() { String s; strcpy(s.str,str); strrev(s.str); return (s); } void main() { clrscr(); String s1,s2,s3,s4; cout<<"Enter string 1:"; s1.getdata(); cout<<"\n\nEnter string 2:"; s2.getdata(); char ch='o'; int l=s1.length1(); cout<<"\n\nLength of string: '"; s1.display(); cout<<" 'is "< s1.concat(s2); cout<<"\n\nAfter concatenation:"; s1.display(); int ind=2, len=4; cout<<"\n\nStart Index="< s3.display(); char c=s1.charAt(ind+4); cout<<"\n\nCharacter at Index: "< int i=s1.indexOf(ch); cout<<"\n\nIndex of '"< s4=s1.reverse(); cout<<"\n\nReverse of \n\t'"; s1.display(); cout<<"'\n\t\tis \n\t"; s4.display(); getch(); } Output: Enter string 1: Ankit Goyal is Enter string 2: a student of VESIT. Length of string: 'Ankit Goyal is ' is 14 After concatenation: Ankit Goyal is a student of VESIT. Start Index=2 Length of Substring=4 Substring: kit Character at Index: 6 is 'G' Index of 'o' is: 7 Reverse of 'Ankit Goyal is a student of VESIT.' is .TISEV fo tneduts a si layoG tiknA
}
void String::getdata()
gets(str);
String::String()
strcpy(str,"");
int String::length1()
int l;
l=strlen(str);
return (l);
void String::concat(String s)
strcat(str,s.str);
String String::substring(int ind, int len)
int l,x,m;
char su[50];
String sub;
strcpy(sub.str,"");
for(x=ind,m=0;x<=len+1;x++,m++)
su[m]=str[x];
su[m]='\0';
strcpy(sub.str,su);
return (sub);
char String::charAt(int ind)
char c=' ';
int l=strlen(str);
if(ind>l)
cout<<"Position out of Bounds";
else
c=str[ind];
return (c);
int String::indexOf(char ch)
int x=1;
while(str[x]!=ch && str[x]!='\0')
x++;
if(str[x]!=ch)
return (-1);
return (x);
String String::reverse()
String s;
strcpy(s.str,str);
strrev(s.str);
return (s);
void main()
clrscr();
String s1,s2,s3,s4;
cout<<"Enter string 1:";
s1.getdata();
cout<<"\n\nEnter string 2:";
s2.getdata();
char ch='o';
int l=s1.length1();
cout<<"\n\nLength of string: '";
s1.display();
cout<<" 'is "< s1.concat(s2); cout<<"\n\nAfter concatenation:"; s1.display(); int ind=2, len=4; cout<<"\n\nStart Index="< s3.display(); char c=s1.charAt(ind+4); cout<<"\n\nCharacter at Index: "< int i=s1.indexOf(ch); cout<<"\n\nIndex of '"< s4=s1.reverse(); cout<<"\n\nReverse of \n\t'"; s1.display(); cout<<"'\n\t\tis \n\t"; s4.display(); getch(); } Output: Enter string 1: Ankit Goyal is Enter string 2: a student of VESIT. Length of string: 'Ankit Goyal is ' is 14 After concatenation: Ankit Goyal is a student of VESIT. Start Index=2 Length of Substring=4 Substring: kit Character at Index: 6 is 'G' Index of 'o' is: 7 Reverse of 'Ankit Goyal is a student of VESIT.' is .TISEV fo tneduts a si layoG tiknA
s1.concat(s2);
cout<<"\n\nAfter concatenation:";
int ind=2, len=4;
cout<<"\n\nStart Index="< s3.display(); char c=s1.charAt(ind+4); cout<<"\n\nCharacter at Index: "< int i=s1.indexOf(ch); cout<<"\n\nIndex of '"< s4=s1.reverse(); cout<<"\n\nReverse of \n\t'"; s1.display(); cout<<"'\n\t\tis \n\t"; s4.display(); getch(); } Output: Enter string 1: Ankit Goyal is Enter string 2: a student of VESIT. Length of string: 'Ankit Goyal is ' is 14 After concatenation: Ankit Goyal is a student of VESIT. Start Index=2 Length of Substring=4 Substring: kit Character at Index: 6 is 'G' Index of 'o' is: 7 Reverse of 'Ankit Goyal is a student of VESIT.' is .TISEV fo tneduts a si layoG tiknA
s3.display();
char c=s1.charAt(ind+4);
cout<<"\n\nCharacter at Index: "< int i=s1.indexOf(ch); cout<<"\n\nIndex of '"< s4=s1.reverse(); cout<<"\n\nReverse of \n\t'"; s1.display(); cout<<"'\n\t\tis \n\t"; s4.display(); getch(); } Output: Enter string 1: Ankit Goyal is Enter string 2: a student of VESIT. Length of string: 'Ankit Goyal is ' is 14 After concatenation: Ankit Goyal is a student of VESIT. Start Index=2 Length of Substring=4 Substring: kit Character at Index: 6 is 'G' Index of 'o' is: 7 Reverse of 'Ankit Goyal is a student of VESIT.' is .TISEV fo tneduts a si layoG tiknA
int i=s1.indexOf(ch);
cout<<"\n\nIndex of '"< s4=s1.reverse(); cout<<"\n\nReverse of \n\t'"; s1.display(); cout<<"'\n\t\tis \n\t"; s4.display(); getch(); } Output: Enter string 1: Ankit Goyal is Enter string 2: a student of VESIT. Length of string: 'Ankit Goyal is ' is 14 After concatenation: Ankit Goyal is a student of VESIT. Start Index=2 Length of Substring=4 Substring: kit Character at Index: 6 is 'G' Index of 'o' is: 7 Reverse of 'Ankit Goyal is a student of VESIT.' is .TISEV fo tneduts a si layoG tiknA
s4=s1.reverse();
cout<<"\n\nReverse of \n\t'";
cout<<"'\n\t\tis \n\t";
s4.display();
getch();
Output:
Enter string 1: Ankit Goyal is
Enter string 2: a student of VESIT.
Length of string: 'Ankit Goyal is ' is 14
After concatenation: Ankit Goyal is a student of VESIT.
Start Index=2
Length of Substring=4
Substring: kit
Character at Index: 6 is 'G'
Index of 'o' is: 7
Reverse of
'Ankit Goyal is a student of VESIT.'
is
.TISEV fo tneduts a si layoG tiknA
Define a class? A: It is an expanded concept of a data structure: rather than holding only data, it can hold data and functions both.
Classify computer systems according to capacity. How they are different from computers according to the classification of technology. Provide comparative study also.
obtain two numbers from thekey board,and determain and display(if either)is the larger of two numbers.
Floating literal They can be written in common decimal as well as scientific notation (floating point representation). By default it is of type double. F, L is applied only to
Write a recursive function recursiveMin that takes an integer array, a starting subscript and an ending subscript as arguments, and returns the smallest element in the array. The f
smugglers are becoming very smart day by day. Now they have developed a new technique of sending their messages from one smuggler to another. In their new technology, they are send
write a program to read an inverted index
Write a function that takes in a radius and evenly covers the screen with circles of that radius. Don't attempt to draw any circles that are completely off the screen.
How are postfix and prefix versions of operator++ () differentiated? A: The postfix version of operator++ () contain a dummy parameter of type int. The prefix version does not c
O v e r l o a d i n g U n a r y Op e r a t o r s Us i n g F r i e n d F u n c t i o n cl a ss s i g n { i n t a ,
Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!
whatsapp: +91-977-207-8620
Phone: +91-977-207-8620
Email: [email protected]
All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd