logo

Различити начини за поређење стрингова у Ц++

У овом одељку ће се расправљати о различитим начинима упоређивања датих стрингова у програмском језику Ц++. Поређење стринга одређује да ли је први низ једнак другом низу или не. Пример: ХЕЛЛО и Хелло су два различита низа.

Различити начини за поређење стрингова у Ц++

Постоје различити начини за упоређивање стрингова у програмском језику Ц++, као што следи:

  1. Коришћење функције стрцмп().
  2. Коришћење функције цомпаре().
  3. Коришћење релационог оператора
  4. Коришћење петље Фор и изјаве Иф
  5. Коришћење кориснички дефинисане функције

функција стрцмп().

стрцмп() је унапред дефинисана библиотечка функција стринг.х датотека заглавља. Функција стрцмп() упоређује два низа на лексикографској основи. То значи да функција стрцмп() почиње да упоређује први стринг са другим низом, знак по знак све док сви карактери у оба стринга не буду исти или док се не наиђе на НУЛЛ карактер.

Синтакса

јава главни метод
 int strcmp ( const char *leftstr, const char *rightstr ); 

Параметри:

лефтстр: Дефинише карактере левог низа.

ригхтстр: Дефинише карактере десног низа.

враћа:

Стринг левог низа упоређује сваки знак са другим низом са леве стране до краја оба низа. И, ако су оба низа једнака, функција стрцмп() враћа стрингове једнаке. Иначе, жице нису једнаке.

Хајде да направимо програм за упоређивање стрингова помоћу функције стрцмп() у Ц++.

Програм1.цпп

 #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; } 

Излаз

 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. 

цомпаре() функција

Цомпаре() функција је унапред дефинисана библиотечка функција језика Ц++. Функција цомпаре() упоређује два дата стринга и враћа следеће резултате на основу случајева подударања:

  1. Ако су оба низа иста, функција враћа 0.
  2. Ако је вредност знака првог стринга мања од другог низа, функција се враћа<0.< li>
  3. Ако је други стринг већи од првог, функција враћа веће од 0 или >0.

Синтакса

 int compare (const string &amp;str) const; 

Хајде да направимо једноставан програм за упоређивање два стринга помоћу функције цомпаре() у Ц++.

Програм2.цпп

 #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)>

Излаз

 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. 

Релациони оператор

То је оператор који се користи за поређење два низа или нумеричких вредности у Ц++. Ц++ има различите типове релационих оператора као што су '==', '!=', >,

Програм3.цпп

 #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; } 

Излаз

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

2ндИзвршење:

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

Упоредите два низа користећи релациони оператор Нот Екуал То (!=).

Хајде да направимо програм за упоређивање да ли су стрингови једнаки или не користећи оператор Нот Екуал То (!=) у Ц++.

Програм4.цпп

 #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; } 

Излаз

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

2ндТрцати:

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

Упоредите два низа користећи фор петљу и иф наредбу у Ц++

Програм5.цпп

 #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])>

Упоредите два стринга користећи кориснички дефинисану функцију у Ц++

Хајде да направимо једноставан програм за упоређивање првог стринга са другим стрингом користећи кориснички дефинисану функцију у Ц++.

Програм6.цпп

 #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; } 

Излаз

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