מאת יובראג 'צ'נדרה
לַחֲלוֹק
אימייל

השוואה אם ​​שני מחרוזות טקסט הן אנגרמות היא משימה מצוינת לפתרון בעיות לשיפור כישורי התכנות.

אנגרמה היא מחרוזת שנוצרה על ידי סידור מחדש של האותיות של מחרוזת אחרת. לבדוק אם שני מיתרים הם אנגרמות זה לזה אולי נשמע קשה, אבל זה רק קצת מסובך וישר מטעה. במאמר זה תלמד כיצד לבדוק אם שני מיתרים הם אנגרמות זו לזו באמצעות C ++, Python ו- JavaScript.

הצהרת בעיה

נותנים לך שני מחרוזות s1 ו- s2, עליך לבדוק אם שני המיתרים הם אנגרמות זה לזה או לא.

דוגמה 1: תן s1 = "יצירתי" ו- s2 = "תגובתי".

מכיוון שהמחרוזת השנייה יכולה להיווצר על ידי סידור מחדש של האותיות של המחרוזת הראשונה ולהיפך, כך ששני המיתרים הם אנגרמות זו לזו.

דוגמה 2: תן s1 = "פיטר פייפר קטף פלפל פלפלים כבושים" ו- s2 = "קלף פלפלים כבושים פיטר פייפר בחר".

מכיוון שלא ניתן ליצור את המחרוזת השנייה על ידי סידור מחדש של אותיות המחרוזת הראשונה ולהיפך, כך ששני המיתרים אינם אנגרמים זה לזה.

תהליך לבדיקה אם שני מיתרים הם דיאגרמות זה מזה

אתה יכול לעקוב אחר הגישה למטה כדי לבדוק אם שני המיתרים הם דיאגרמות זה לזה:

instagram viewer
  1. השווה את אורך שני המיתרים.
  2. אם אורך שני המיתרים אינו זהה, פירוש הדבר שהם אינם יכולים להיות אנגרמות זו לזו. לפיכך, השיב כוזב.
  3. אם אורך שני המיתרים זהה, המשך הלאה.
  4. מיין את שני המיתרים.
  5. השווה בין שני המיתרים הממוינים.
  6. אם שני המיתרים הממוינים זהים, פירוש הדבר שהם אנגרמות זו לזו. לפיכך, חזור אמיתי.
  7. אם שני המיתרים הממוינים שונים, פירוש הדבר שהם אינם אנגרמות זו לזו. לפיכך, השיב כוזב.

קָשׁוּר: כיצד לבדוק אם מחרוזת היא פלינדרום

תוכנית C + + כדי לבדוק אם שני מיתרים הם תרשימים זה מזה

להלן תוכנית C ++ כדי לבדוק אם שני מיתרים הם אנגרמות זו לזו או לא:

#לִכלוֹל 
באמצעות std namespace;
bool checkAnagrams (מחרוזת s1, מחרוזת s2)
{
int size1 = s1.length ();
int size2 = s2.length ();
// אם אורך שני המיתרים אינו זהה,
// זה אומר שהם לא יכולים להיות אנגרמות זה לזה.
// לפיכך, החזירו שקר.
אם (מידה 1! = גודל 2)
{
להחזיר כוזב;
}
מיין (s1.begin (), s1.end ());
מיין (s2.begin (), s2.end ());
עבור (int i = 0; i {
אם (s1 [i]! = s2 [i])
{
להחזיר כוזב;
}
}
לחזור אמיתי;
}
int main ()
{
מחרוזת s1 = "האזנה";
מחרוזת s2 = "שקט";
cout << "מחרוזת 1:" << s1 << endl;
cout << "מחרוזת 2:" << s2 << endl;
אם (checkAnagrams (s1, s2))
{
cout << "כן, שני המיתרים הם תרשימים זה לזה" << endl;
}
אַחֵר
{
cout << "לא, שני המיתרים אינם אנגרמות זה לזה" << endl;
}
string s3 = "ברוך הבא ל- MUO";
מחרוזת s4 = "MUO לקבלת פנים";
cout << "מחרוזת 3:" << s3 << endl;
cout << "מחרוזת 4:" << s4 << endl;
אם (checkAnagrams (s3, s4))
{
cout << "כן, שני המיתרים הם תרשימים זה לזה" << endl;
}
אַחֵר
{
cout << "לא, שני המיתרים אינם אנגרמות זה לזה" << endl;
}
מחרוזת s5 = "פיטר פייפר בחר קטע פלפלים כבושים";
מחרוזת s6 = "נקודה של פלפלים כבושים שפיטר פייפר בחר";
cout << "מחרוזת 5:" << s5 << endl;
cout << "מחרוזת 6:" << s6 << endl;
אם (checkAnagrams (s5, s6))
{
cout << "כן, שני המיתרים הם תרשימים זה לזה" << endl;
}
אַחֵר
{
cout << "לא, שני המיתרים אינם אנגרמות זה לזה" << endl;
}
מחרוזת s7 = "היא מוכרת צדפים על שפת הים";
מחרוזת s8 = "צדפים על שפת הים";
cout << "מחרוזת 7:" << s7 << endl;
cout << "מחרוזת 8:" << s8 << endl;
אם (checkAnagrams (s7, s8))
{
cout << "כן, שני המיתרים הם תרשימים זה לזה" << endl;
}
אַחֵר
{
cout << "לא, שני המיתרים אינם אנגרמות זה לזה" << endl;
}
מחרוזת s9 = "קריאייטיב";
מחרוזת s10 = "תגובתי";
cout << "מחרוזת 9:" << s9 << endl;
cout << "מחרוזת 10:" << s10 << endl;
אם (checkAnagrams (s9, s10))
{
cout << "כן, שני המיתרים הם תרשימים זה לזה" << endl;
}
אַחֵר
{
cout << "לא, שני המיתרים אינם אנגרמות זה לזה" << endl;
}
החזר 0;
}

תְפוּקָה:

מחרוזת 1: האזינו
מחרוזת 2: שקטה
כן, שני המיתרים הם אנגרמות זו לזו
מחרוזת 3: ברוך הבא ל- MUO
מחרוזת 4: MUO לברכה
כן, שני המיתרים הם אנגרמות זו לזו
מחרוזת 5: פיטר פייפר בחר קטע פלפלים חמוצים
מחרוזת 6: נקודת פלפלים כבושים שפיטר פייפר בחר
לא, שני המיתרים אינם אנגרמים זה לזה
מחרוזת 7: היא מוכרת צדפים על שפת הים
מחרוזת 8: צדפים על שפת הים
לא, שני המיתרים אינם אנגרמים זה לזה
מחרוזת 9: יצירתי
מחרוזת 10: תגובתי
כן, שני המיתרים הם אנגרמות זו לזו

קָשׁוּר: כיצד לספור את המופעים של דמות נתונה במחרוזת

תוכנית פייתון כדי לבדוק אם שני מיתרים הם דיאגרמות זה לזה

להלן תוכנית פייתון כדי לבדוק אם שני מיתרים הם אנגרמות זו לזו או לא:

def check אנטגרמות (s1, s2):
size1 = len (s1)
size2 = len (s2)
# אם אורך שני המיתרים אינו זהה,
# זה אומר שהם לא יכולים להיות אנגרמות זה לזה.
# לפיכך, השיב כוזב.
אם מידה 1! = מידה 2:
החזר 0
s1 = ממוין (s1)
s2 = ממוין (s2)
עבור i בטווח (0, size1):
אם s1 [i]! = s2 [i]:
להחזיר שקר
להחזיר נכון
s1 = "האזין"
s2 = "שקט"
הדפס ("מחרוזת 1:", s1)
הדפס ("מחרוזת 2:", s2)
אם (checkAnagrams (s1, s2)):
הדפס ("כן, שני המיתרים הם תרשימים זה לזה")
אַחֵר:
הדפס ("לא, שני המיתרים אינם אנגרמות זה לזה")
s3 = "ברוך הבא ל- MUO"
s4 = "MUO לקבלת פנים"
הדפס ("מחרוזת 3:", s3)
הדפס ("מחרוזת 4:", s4)
אם (checkAnagrams (s3, s4)):
הדפס ("כן, שני המיתרים הם תרשימים זה לזה")
אַחֵר:
הדפס ("לא, שני המיתרים אינם אנגרמות זה לזה")
s5 = "פיטר פייפר קטף פלפל כבוש"
s6 = "נקודה של פלפלים כבושים שפיטר פייפר בחר"
הדפס ("מחרוזת 5:", s5)
הדפס ("מחרוזת 6:", s6)
אם (checkAnagrams (s5, s6)):
הדפס ("כן, שני המיתרים הם תרשימים זה לזה")
אַחֵר:
הדפס ("לא, שני המיתרים אינם אנגרמות זה לזה")
s7 = "היא מוכרת צדפים על שפת הים"
s8 = "צדפים על שפת הים"
הדפס ("מחרוזת 7:", s7)
הדפס ("מחרוזת 8:", s8)
אם (checkAnagrams (s7, s8)):
הדפס ("כן, שני המיתרים הם תרשימים זה לזה")
אַחֵר:
הדפס ("לא, שני המיתרים אינם אנגרמות זה לזה")
s9 = "יצירתי"
s10 = "תגובתי"
הדפס ("מחרוזת 9:", s9)
הדפס ("מחרוזת 10:", s10)
אם (checkAnagrams (s9, s10)):
הדפס ("כן, שני המיתרים הם תרשימים זה לזה")
אַחֵר:
הדפס ("לא, שני המיתרים אינם אנגרמות זה לזה")

תְפוּקָה:

מחרוזת 1: האזינו
מחרוזת 2: שקטה
כן, שני המיתרים הם אנגרמות זו לזו
מחרוזת 3: ברוך הבא ל- MUO
מחרוזת 4: MUO לברכה
כן, שני המיתרים הם אנגרמות זו לזו
מחרוזת 5: פיטר פייפר בחר קטע פלפלים חמוצים
מחרוזת 6: נקודת פלפלים כבושים שפיטר פייפר בחר
לא, שני המיתרים אינם אנגרמים זה לזה
מחרוזת 7: היא מוכרת צדפים על שפת הים
מחרוזת 8: צדפים על שפת הים
לא, שני המיתרים אינם אנגרמים זה לזה
מחרוזת 9: יצירתי
מחרוזת 10: תגובתי
כן, שני המיתרים הם אנגרמות זו לזו

קָשׁוּר: כיצד למצוא תנועות, עיצורים, ספרות ודמויות מיוחדות במחרוזת

בדוק אם שני מחרוזות הם תרשימים זה מזה ב- JavaScript

להלן תוכנית JavaScript כדי לבדוק אם שני מחרוזות הן אנגרמות זו לזו או לא:

פונקציות checkAnagrams (s1, s2) {
תן לגודל 1 = s1.length;
תן לגודל 2 = s2.length;
// אם אורך שני המיתרים אינו זהה,
// זה אומר שהם לא יכולים להיות אנגרמות זה לזה.
// לפיכך, החזירו שקר.
אם (מידה 1! = גודל 2)
{
להחזיר כוזב;
}
s1.sort ();
s2.sort ();
עבור (תן i = 0; i {
אם (s1 [i]! = s2 [i])
{
להחזיר כוזב;
}
}
לחזור אמיתי;
}
var s1 = "להקשיב";
var s2 = "שקט";
document.write ("מחרוזת 1:" + s1 + "
");
document.write ("מחרוזת 2:" + s2 + "
");
אם (checkAnagrams (s1.split (""), s2.split (""))) {
document.write ("כן, שני המחרוזות הן תרשימים זה לזה" + "
");
} אחר {
document.write ("לא, שני המחרוזות אינן תרשימים זה לזה" + "
");
}
var s3 = "ברוך הבא ל- MUO";
var s4 = "MUO לקבלת פנים";
document.write ("מחרוזת 3:" + s3 + "
");
document.write ("מחרוזת 4:" + s4 + "
");
אם (checkAnagrams (s3.split (""), s4.split (""))) {
document.write ("כן, שני המחרוזות הן תרשימים זה לזה" + "
");
} אחר {
document.write ("לא, שני המחרוזות אינן תרשימים זה לזה" + "
");
}
var s5 = "פיטר פייפר קטף פלפל פלפלים כבושים";
var s6 = "נקודה של פלפלים כבושים שפיטר פייפר בחר";
document.write ("מחרוזת 5:" + s5 + "
");
document.write ("מחרוזת 6:" + s6 + "
");
אם (checkAnagrams (s5.split (""), s6.split (""))) {
document.write ("כן, שני המחרוזות הן תרשימים זה לזה" + "
");
} אחר {
document.write ("לא, שני המחרוזות אינן תרשימים זה לזה" + "
");
}
var s7 = "היא מוכרת צדפים על שפת הים";
var s8 = "צדפים על שפת הים";
document.write ("מחרוזת 7:" + s7 + "
");
document.write ("מחרוזת 8:" + s8 + "
");
אם (checkAnagrams (s7.split (""), s8.split (""))) {
document.write ("כן, שני המחרוזות הן תרשימים זה לזה" + "
");
} אחר {
document.write ("לא, שני המחרוזות אינן תרשימים זה לזה" + "
");
}
var s9 = "יצירתי";
var s10 = "תגובתי";
document.write ("מחרוזת 9:" + s9 + "
");
document.write ("מחרוזת 10:" + s10 + "
");
אם (checkAnagrams (s9.split (""), s10.split (""))) {
document.write ("כן, שני המחרוזות הן תרשימים זה לזה" + "
");
} אחר {
document.write ("לא, שני המחרוזות אינן תרשימים זה לזה" + "
");
}

תְפוּקָה:

מחרוזת 1: האזינו
מחרוזת 2: שקטה
כן, שני המיתרים הם אנגרמות זו לזו
מחרוזת 3: ברוך הבא ל- MUO
מחרוזת 4: MUO לברכה
כן, שני המיתרים הם אנגרמות זו לזו
מחרוזת 5: פיטר פייפר בחר קטע פלפלים חמוצים
מחרוזת 6: נקודת פלפלים כבושים שפיטר פייפר בחר
לא, שני המיתרים אינם אנגרמים זה לזה
מחרוזת 7: היא מוכרת צדפים על שפת הים
מחרוזת 8: צדפים על שפת הים
לא, שני המיתרים אינם אנגרמים זה לזה
מחרוזת 9: יצירתי
מחרוזת 10: תגובתי
כן, שני המיתרים הם אנגרמות זו לזו

קָשׁוּר: איך מוצאים את ערך ASCII של דמות?

השתמש במקורות הנכונים כדי ללמוד לקודד

אם אתה רוצה לבסס את כישורי הקידוד שלך, חשוב ללמוד מושגים חדשים ולהשקיע זמן בשימוש בהם. אחת הדרכים לעשות זאת היא באמצעות יישומי תכנות, שיעזרו לך ללמוד מושגי תכנות שונים תוך כדי הנאה בו זמנית.

לַחֲלוֹק
אימייל
8 אפליקציות שיעזרו לכם ללמוד לקודד ליום המתכנתים הבינלאומי

רוצה לצחצח את כישורי הקידוד שלך? יישומים ואתרים אלה יעזרו לך ללמוד תכנות בקצב שלך.

קרא הבא

נושאים קשורים
  • תִכנוּת
  • JavaScript
  • פִּיתוֹן
  • תכנות ג
על הסופר
יובראג 'צ'נדרה (43 מאמרים פורסמו)

יוברג 'הוא סטודנט לתואר ראשון במדעי המחשב באוניברסיטת דלהי, הודו. הוא נלהב מפיתוח אתרים של Full Stack. כשהוא לא כותב, הוא בוחן את עומק הטכנולוגיות השונות.

עוד מ- Yuvraj Chandra

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחץ כאן להרשמה