Given two strings, how to check if the two strings are equal or not.
Examples:
Input : ABCD, XYZ Output : ABCD is not equal to XYZ XYZ is greater than ABCD Input : Geeks, forGeeks Output : Geeks is not equal to forGeeks forGeeks is greater than Geeks
This problem can be solved using any of the following two methods
// CPP code to implement relational // operators on string objects #include using namespace std; void relationalOperation(string s1, string s2) { if (s1 != s2) { cout << s1 << " is not equal to " << s2 << endl; if (s1 > s2) cout << s1 << " is greater than " << s2 << endl; else cout << s2 << " is greater than " << s1 << endl; } else cout << s1 << " is equal to " << s2 << endl; } // Driver code int main() { string s1("Geeks"); string s2("forGeeks"); relationalOperation(s1, s2); string s3("Geeks"); string s4("Geeks"); relationalOperation(s3, s4); return 0; }
Output
Geeks is not equal to forGeeks forGeeks is greater than Geeks Geeks is equal to Geeks
// CPP code perform relational // operation using compare function #include using namespace std; void compareFunction(string s1, string s2) { // comparing both using inbuilt function int x = s1.compare(s2); if (x != 0) { cout << s1 << " is not equal to " << s2 << endl; if (x > 0) cout << s1 << " is greater than " << s2 << endl; else cout << s2 << " is greater than " << s1 << endl; } else cout << s1 << " is equal to " << s2 << endl; } // Driver Code int main() { string s1("Geeks"); string s2("forGeeks"); compareFunction(s1, s2); string s3("Geeks"); string s4("Geeks"); compareFunction(s3, s4); return 0; }
Output
Geeks is not equal to forGeeks forGeeks is greater than Geeks Geeks is equal to Geeks
Differences between C++ Relational operators and compare() :-
Example:-
// Compare 3 characters from 3rd position // (or index 2) of str1 with 3 characters // from 4th position of str2. if (str1.compare(2, 3, str2, 3, 3) == 0) cout<<"Equal"; else cout<<"Not equal";
for (i = 2, j = 3; i <= 5 && j <= 6; i++, j++) { if (s1[i] != s2[j]) break; } if (i == 6 && j == 7) cout << "Equal"; else cout << "Not equal";
The above example clearly shows how compare() reduces lots of extra processing, therefore it is advisable to use it while performing substring comparison at some position, otherwise both perform almost in the same manner.
Australia
UK
UAE
Singapore
Canada
New
Zealand
Malaysia
USA
India
South
Africa
Ireland
Saudi
Arab
Qatar
Kuwait
Hongkong
Copyright 2016-2023 www.programmingshark.com - All Rights Reserved.
Disclaimer : Any type of help and guidance service given by us is just for reference purpose. We never ask any of our clients to submit our solution guide as it is, anywhere.