חלק זה ידון בדרכים השונות להשוות בין המחרוזות הנתונות בשפת התכנות C++. ההשוואה של המחרוזת קובעת אם המחרוזת הראשונה שווה למחרוזת אחרת או לא. דוגמה: HELLO והלו הן שתי מחרוזות שונות.
ישנן דרכים שונות להשוות את המחרוזות בשפת התכנות C++, כדלקמן:
- שימוש בפונקציה strcmp()
- שימוש בפונקציה compare()
- שימוש ב-Relational Operator
- שימוש ב-For loop ובמשפט If
- שימוש בפונקציה מוגדרת על ידי משתמש
strcmp() פונקציה
ה-strcmp() הוא פונקציית ספרייה מוגדרת מראש של ה- מחרוזת.ח קובץ הכותרת. הפונקציה strcmp() משווה שתי מחרוזות על בסיס לקסיקוגרפי. המשמעות היא שהפונקציה strcmp() מתחילה להשוות את המחרוזת הראשונה למחרוזת השנייה, תו אחר תו עד שכל התווים בשתי המחרוזות זהים או שנתקל בתו NULL.
תחביר
int strcmp ( const char *leftstr, const char *rightstr );
פרמטרים:
leftstr: זה מגדיר את התווים של המחרוזת השמאלית.
rightstr: זה מגדיר את התווים של המחרוזת הימנית.
מערך ב-java
החזרות:
המחרוזת leftstr משווה כל תו עם המחרוזת השנייה מהצד השמאלי עד לסוף שתי המחרוזות. ואם שתי המחרוזות שוות, הפונקציה strcmp() מחזירה מחרוזות שוות. אחרת, המיתרים אינם שווים.
בואו ניצור תוכנית להשוואת מחרוזות באמצעות הפונקציה strcmp() ב-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; }
תְפוּקָה
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.
compare() פונקציה
הפונקציה compare() היא פונקציית ספרייה מוגדרת מראש של שפת C++. הפונקציה compare() משווה שתי מחרוזות נתונות ומחזירה את התוצאות הבאות בהתבסס על המקרים התואמים:
- אם שתי המחרוזות זהות, הפונקציה מחזירה 0.
- אם ערך התו של המחרוזת הראשונה קטן מהמחרוזת השנייה, הפונקציה מחזירה<0.< li>
- אם המחרוזת השנייה גדולה מהמחרוזת הראשונה, הפונקציה מחזירה יותר מ-0 או >0. 0.<>
תחביר
מחרוזת ל-char java
int compare (const string &str) const;
בואו ניצור תוכנית פשוטה להשוואה בין שתי מחרוזות באמצעות הפונקציה compare() ב-C++.
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)>
תְפוּקָה
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.
מפעיל יחסי
זהו האופרטור המשמש להשוואת שתי מחרוזות או ערכים מספריים ב-C++. ל-C++ יש סוגים שונים של אופרטורים יחסיים כגון '==', '!=', >, Program3.cpp תְפוּקָה 2נדביצוע: בואו ניצור תוכנית כדי להשוות אם המחרוזות שוות או לא באמצעות האופרטור Not Equal To (!=) ב-C++. Program4.cpp תְפוּקָה 2נדלָרוּץ: Program5.cpp בואו ניצור תוכנית פשוטה כדי להשוות את המחרוזת הראשונה למחרוזת אחרת באמצעות הפונקציה המוגדרת על ידי המשתמש ב-C++. Program6.cpp תְפוּקָה #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.
השווה שתי מחרוזות באמצעות ה-Non Equal To (!=) Relational Operator
#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.
השווה שתי מחרוזות באמצעות משפט for loop ו-if ב-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])>
השווה שתי מחרוזות באמצעות הפונקציה המוגדרת על ידי משתמש ב-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.