Šiame skyriuje bus aptariami skirtingi būdai, kaip palyginti pateiktas eilutes C++ programavimo kalba. Lyginant eilutę nustatoma, ar pirmoji eilutė yra lygi kitai eilutei, ar ne. Pavyzdys: HELLO ir Hello yra dvi skirtingos eilutės.
Yra įvairių būdų, kaip palyginti eilutes C++ programavimo kalba:
- Naudojant strcmp() funkciją
- Naudojant palyginimo () funkciją
- Reliacinio operatoriaus naudojimas
- For loop ir If teiginių naudojimas
- Naudojant vartotojo apibrėžtą funkciją
strcmp() funkcija
Strcmp () yra iš anksto nustatyta bibliotekos funkcija eilutė.h antraštės failą. Funkcija strcmp() lygina dvi eilutes leksikografiniu pagrindu. Tai reiškia, kad funkcija strcmp() pradeda lyginti pirmąją eilutę su antrąja, po simbolio, kol visi simboliai abiejose eilutėse bus vienodi arba bus aptiktas NULL simbolis.
Sintaksė
int strcmp ( const char *leftstr, const char *rightstr );
Parametrai:
leftstr: Jis apibrėžia kairiosios eilutės simbolius.
Rightstr: Jis apibrėžia tinkamos eilutės simbolius.
kaip konvertuoti int į eilutę
Grąžinimai:
Kairė eilutė lygina kiekvieną simbolį su antrąja eilute iš kairės iki abiejų eilučių pabaigos. Ir jei abi eilutės yra lygios, funkcija strcmp () grąžina eilutes, kurios yra lygios. Priešingu atveju stygos nėra lygios.
Sukurkime programą, kuri palygintų eilutes naudodami strcmp() funkciją C++.
Program1.cpp
#include using namespace std; #include int main () { // declare strings const char *str1 = ' Welcome to JavaTpoint'; const char *str2 = ' Welcome to JavaTpoint'; const char *str3 = ' JavaTpoint'; const char *str4 = ' Javatpoint'; cout << ' String 1: ' << str1 << endl; cout << ' String 2: ' << str2 << endl; // use strcmp() function to validate the strings are equal if (strcmp (str1, str2) == 0) { cout << ' Both strings are equal. ' << endl; } else { cout << ' The strings are not equal. ' << endl; } cout << ' String 3: ' << str3 << endl; cout << ' String 4: ' << str4 << endl; // use strcmp() function to validate the strings are equal if (strcmp (str3, str4) == 0) { cout << ' Both strings are equal. ' << endl; } else cout << ' The strings are not equal. '; return 0; }
Išvestis
String 1: Welcome to JavaTpoint String 2: Welcome to JavaTpoint Both strings are equal. String 3: JavaTpoint String 4: Javatpoint The strings are not equal.
Palyginti () funkciją
Funkcija palyginimas () yra iš anksto nustatyta C++ kalbos bibliotekos funkcija. Funkcija palyginimas () lygina dvi nurodytas eilutes ir pateikia šiuos rezultatus pagal atitikimo atvejus:
- Jei abi eilutės yra vienodos, funkcija grąžina 0.
- Jei pirmosios eilutės simbolio reikšmė yra mažesnė nei antrosios eilutės, funkcija grąžinama<0.< li>
- Jei antroji eilutė yra didesnė už pirmąją, funkcija grąžina didesnę nei 0 arba > 0. 0.<>
Sintaksė
kartojantis žemėlapis java
int compare (const string &str) const;
Sukurkime paprastą programą, skirtą palyginti dvi eilutes naudodami C++ funkciją palyginimas ().
Program2.cpp
#include using namespace std; int main () { string str1, str2; // declare string variable cout <> str1; cout <> str2; // use compare() function to compare the second string with first string int i = str1.compare(str2); if ( i <0) { cout << str1 ' is smaller than str2 string' <<endl; } else if ( i> 0) { cout << str2 << ' is greater than ' << str1 << ' string.' << endl; } else // i == 0; { cout << ' Both strings are equal.'; } return 0; } </0)>
Išvestis
1st Run: Enter the string 1: Program Enter the string 2: program Program is smaller than program string 2nd Run: Enter the string 1: APPLE Enter the string 2: APPLE Both strings are equal.
Santykių operatorius
Tai yra operatorius, naudojamas palyginti dvi eilutes arba skaitines reikšmes C++. C++ turi įvairių tipų reliacinius operatorius, tokius kaip '==', '!=', >, Program3.cpp Išvestis 2ndVykdymas: Sukurkime programą, kuri palygintų, ar eilutės lygios, ar ne, naudodami operatorių Not Equal To (!=) C++ kalboje. Program4.cpp Išvestis 2ndVykdyti: Program5.cpp Sukurkime paprastą programą, skirtą palyginti pirmą eilutę su kita eilute, naudodami vartotojo apibrėžtą funkciją C++. Program6.cpp Išvestis #include using namespace std; int main () { // declare string variables string str1; string str2; cout << ' Enter the String 1: ' <> str1; cout << ' Enter the String 2: ' <> str2; // use '==' equal to operator to check the equality of the string if ( str1 == str2) { cout << ' String is equal.' << endl; } else { cout << ' String is not equal.' << endl; } return 0; }
Enter the String 1: JavaTpoint Enter the String 2: javatpoint String is not equal.
Enter the String 1: Program Enter the String 2: Program String is equal.
Palyginkite dvi eilutes naudodami reliacinį operatorių Not Equal To (!=).
išmokti seleno
#include using namespace std; int main () { // declare string variables string str1; string str2; cout << ' Enter the String 1: ' <> str1; cout << ' Enter the String 2: ' <> str2; // use '!=' not equal to operator to check the equality of the string if ( str1 != str2) { cout << ' String is not equal.' << endl; } else { cout << ' String is equal.' << endl; } return 0; }
Enter the String 1: JAVATpoint Enter the String 2: JavaTPOINT String is not equal.
Enter the String 1: HELLO Enter the String 2: HELLO String is equal.
Palyginkite dvi eilutes naudodami for loop ir if teiginį C++
#include using namespace std; int main () { char s1[50], s2[50]; // declare character array int i, disp; cout << ' Enter the String 1: ' <> s1; cout << ' Enter the String 2: ' <> s2; for (i = 0; s1[i] == s2[i] && s1[i] == ' '; i++); if (s1[i] <s2[i]) 1 2 { cout < s2[i]) << ' string is less than 1'; } else equal to 2'; return 0; pre> <p> <strong>Output</strong> </p> <pre> Enter the String 1: WELCOME Enter the String 2: WELCOME String 1 is equal to String 2 </pre> <h3>Compare two strings using the User-defined function in C++</h3> <p>Let's create a simple program to compare the first string with another string using the user-defined function in C++.</p> <p> <strong>Program6.cpp</strong> </p> <pre> #include using namespace std; void RelationalCompare ( string str1, string str2) { // use relational not equal operator if ( str1 != str2) { cout << str1 << ' is not equal to ' << str2 << ' string. ' < str2) { cout << str1 << ' is greater than ' << str2 << ' string.' << endl; } else { cout << str2 << ' is greater than ' << str1 << ' string.' << endl; } } else cout << str1 << ' is equal to ' << str2 << ' string.' << endl; } int main () { string str1 ( 'JavaT'); string str2 ( 'Tpoint'); // call function RelationalCompare (str1, str2); string str3 ('JavaTpoint'); string str4 ('JavaTpoint'); RelationalCompare (str3, str4); return 0; } </pre> <p> <strong>Output</strong> </p> <pre> JavaT is not equal to Tpoint string. Tpoint is greater than JavaT string. JavaTpoint is equal to JavaTpoint string. </pre> <hr></s2[i])>
Palyginkite dvi eilutes naudodami vartotojo apibrėžtą funkciją C++
#include using namespace std; void RelationalCompare ( string str1, string str2) { // use relational not equal operator if ( str1 != str2) { cout << str1 << ' is not equal to ' << str2 << ' string. ' < str2) { cout << str1 << ' is greater than ' << str2 << ' string.' << endl; } else { cout << str2 << ' is greater than ' << str1 << ' string.' << endl; } } else cout << str1 << ' is equal to ' << str2 << ' string.' << endl; } int main () { string str1 ( 'JavaT'); string str2 ( 'Tpoint'); // call function RelationalCompare (str1, str2); string str3 ('JavaTpoint'); string str4 ('JavaTpoint'); RelationalCompare (str3, str4); return 0; }
JavaT is not equal to Tpoint string. Tpoint is greater than JavaT string. JavaTpoint is equal to JavaTpoint string.