logo

Įvairūs būdai, kaip palyginti eilutes C++

Š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.

Įvairūs būdai, kaip palyginti eilutes C++

Yra įvairių būdų, kaip palyginti eilutes C++ programavimo kalba:

  1. Naudojant strcmp() funkciją
  2. Naudojant palyginimo () funkciją
  3. Reliacinio operatoriaus naudojimas
  4. For loop ir If teiginių naudojimas
  5. 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:

  1. Jei abi eilutės yra vienodos, funkcija grąžina 0.
  2. Jei pirmosios eilutės simbolio reikšmė yra mažesnė nei antrosios eilutės, funkcija grąžinama<0.< li>
  3. Jei antroji eilutė yra didesnė už pirmąją, funkcija grąžina didesnę nei 0 arba > 0.

Sintaksė

kartojantis žemėlapis java
 int compare (const string &amp;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 &lt;&gt; str1; cout &lt;&gt; 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 &lt;&lt; str2 &lt;&lt; &apos; is greater than &apos; &lt;&lt; str1 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } else // i == 0; { cout &lt;&lt; &apos; Both strings are equal.&apos;; } 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

 #include using namespace std; int main () { // declare string variables string str1; string str2; cout &lt;&lt; &apos; Enter the String 1: &apos; &lt;&gt; str1; cout &lt;&lt; &apos; Enter the String 2: &apos; &lt;&gt; str2; // use &apos;==&apos; equal to operator to check the equality of the string if ( str1 == str2) { cout &lt;&lt; &apos; String is equal.&apos; &lt;&lt; endl; } else { cout &lt;&lt; &apos; String is not equal.&apos; &lt;&lt; endl; } return 0; } 

Išvestis

 Enter the String 1: JavaTpoint Enter the String 2: javatpoint String is not equal. 

2ndVykdymas:

 Enter the String 1: Program Enter the String 2: Program String is equal. 

Palyginkite dvi eilutes naudodami reliacinį operatorių Not Equal To (!=).

Sukurkime programą, kuri palygintų, ar eilutės lygios, ar ne, naudodami operatorių Not Equal To (!=) C++ kalboje.

Program4.cpp

išmokti seleno
 #include using namespace std; int main () { // declare string variables string str1; string str2; cout &lt;&lt; &apos; Enter the String 1: &apos; &lt;&gt; str1; cout &lt;&lt; &apos; Enter the String 2: &apos; &lt;&gt; str2; // use &apos;!=&apos; not equal to operator to check the equality of the string if ( str1 != str2) { cout &lt;&lt; &apos; String is not equal.&apos; &lt;&lt; endl; } else { cout &lt;&lt; &apos; String is equal.&apos; &lt;&lt; endl; } return 0; } 

Išvestis

 Enter the String 1: JAVATpoint Enter the String 2: JavaTPOINT String is not equal. 

2ndVykdyti:

 Enter the String 1: HELLO Enter the String 2: HELLO String is equal. 

Palyginkite dvi eilutes naudodami for loop ir if teiginį C++

Program5.cpp

 #include using namespace std; int main () { char s1[50], s2[50]; // declare character array int i, disp; cout &lt;&lt; &apos; Enter the String 1: &apos; &lt;&gt; s1; cout &lt;&lt; &apos; Enter the String 2: &apos; &lt;&gt; s2; for (i = 0; s1[i] == s2[i] &amp;&amp; s1[i] == &apos;&apos;; 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&apos;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 &lt;&lt; str1 &lt;&lt; &apos; is not equal to &apos; &lt;&lt; str2 &lt;&lt; &apos; string. &apos; &lt; str2) { cout &lt;&lt; str1 &lt;&lt; &apos; is greater than &apos; &lt;&lt; str2 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } else { cout &lt;&lt; str2 &lt;&lt; &apos; is greater than &apos; &lt;&lt; str1 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } } else cout &lt;&lt; str1 &lt;&lt; &apos; is equal to &apos; &lt;&lt; str2 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } int main () { string str1 ( &apos;JavaT&apos;); string str2 ( &apos;Tpoint&apos;); // call function RelationalCompare (str1, str2); string str3 (&apos;JavaTpoint&apos;); string str4 (&apos;JavaTpoint&apos;); 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++

Sukurkime paprastą programą, skirtą palyginti pirmą eilutę su kita eilute, naudodami vartotojo apibrėžtą funkciją C++.

Program6.cpp

 #include using namespace std; void RelationalCompare ( string str1, string str2) { // use relational not equal operator if ( str1 != str2) { cout &lt;&lt; str1 &lt;&lt; &apos; is not equal to &apos; &lt;&lt; str2 &lt;&lt; &apos; string. &apos; &lt; str2) { cout &lt;&lt; str1 &lt;&lt; &apos; is greater than &apos; &lt;&lt; str2 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } else { cout &lt;&lt; str2 &lt;&lt; &apos; is greater than &apos; &lt;&lt; str1 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } } else cout &lt;&lt; str1 &lt;&lt; &apos; is equal to &apos; &lt;&lt; str2 &lt;&lt; &apos; string.&apos; &lt;&lt; endl; } int main () { string str1 ( &apos;JavaT&apos;); string str2 ( &apos;Tpoint&apos;); // call function RelationalCompare (str1, str2); string str3 (&apos;JavaTpoint&apos;); string str4 (&apos;JavaTpoint&apos;); RelationalCompare (str3, str4); return 0; } 

Išvestis

 JavaT is not equal to Tpoint string. Tpoint is greater than JavaT string. JavaTpoint is equal to JavaTpoint string.