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

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

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





הצהרת בעיה

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





דוגמא 1 : בואו s1 = 'יצירתי' ו- s2 = 'תגובתי'.





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

דוגמא 2 : בואו s1 = 'פיטר פייפר בחר קטר פלפלים כבושים' ו- s2 = 'מנקר פלפלים כבושים פיטר פייפר בחר'.



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

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

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





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

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

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

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





#include
using namespace std;
bool checkAnagrams(string s1, string s2)
{
int size1 = s1.length();
int size2 = s2.length();
// If the length of both strings are not the same,
// it means they can't be anagrams of each other.
// Thus, return false.
if (size1 != size2)
{
return false;
}
sort(s1.begin(), s1.end());
sort(s2.begin(), s2.end());
for (int i = 0; i {
if (s1[i] != s2[i])
{
return false;
}
}
return true;
}
int main()
{
string s1 = 'listen';
string s2 = 'silent';
cout << 'String 1: ' << s1 << endl;
cout << 'String 2: ' << s2 << endl;
if(checkAnagrams(s1, s2))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s3 = 'Welcome to MUO';
string s4 = 'MUO to Welcome';
cout << 'String 3: ' << s3 << endl;
cout << 'String 4: ' << s4 << endl;
if(checkAnagrams(s3, s4))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s5 = 'Peter Piper picked a peck of pickled peppers';
string s6 = 'A peck of pickled peppers Peter Piper picked';
cout << 'String 5: ' << s5 << endl;
cout << 'String 6: ' << s6 << endl;
if(checkAnagrams(s5, s6))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s7 = 'She sells seashells by the seashore';
string s8 = 'seashells by the seashore';
cout << 'String 7: ' << s7 << endl;
cout << 'String 8: ' << s8 << endl;
if(checkAnagrams(s7, s8))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
string s9 = 'creative';
string s10 = 'reactive';
cout << 'String 9: ' << s9 << endl;
cout << 'String 10: ' << s10 << endl;
if(checkAnagrams(s9, s10))
{
cout << 'Yes, the two strings are anagrams of each other' << endl;
}
else
{
cout << 'No, the two strings are not anagrams of each other' << endl;
}
return 0;
}

תְפוּקָה:

String 1: listen
String 2: silent
Yes, the two strings are anagrams of each other
String 3: Welcome to MUO
String 4: MUO to Welcome
Yes, the two strings are anagrams of each other
String 5: Peter Piper picked a peck of pickled peppers
String 6: A peck of pickled peppers Peter Piper picked
No, the two strings are not anagrams of each other
String 7: She sells seashells by the seashore
String 8: seashells by the seashore
No, the two strings are not anagrams of each other
String 9: creative
String 10: reactive
Yes, the two strings are anagrams of each other

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

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

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

def checkAnagrams(s1, s2):
size1 = len(s1)
size2 = len(s2)
# If the length of both strings are not the same,
# it means they can't be anagrams of each other.
# Thus, return false.
if size1 != size2:
return 0
s1 = sorted(s1)
s2 = sorted(s2)
for i in range(0, size1):
if s1[i] != s2[i]:
return False
return True

s1 = 'listen'
s2 = 'silent'
print('String 1: ', s1)
print('String 2: ', s2)
if(checkAnagrams(s1, s2)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s3 = 'Welcome to MUO'
s4 = 'MUO to Welcome'
print('String 3: ', s3)
print('String 4: ', s4)
if(checkAnagrams(s3, s4)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s5 = 'Peter Piper picked a peck of pickled peppers'
s6 = 'A peck of pickled peppers Peter Piper picked'
print('String 5: ', s5)
print('String 6: ', s6)
if(checkAnagrams(s5, s6)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s7 = 'She sells seashells by the seashore'
s8 = 'seashells by the seashore'
print('String 7: ', s7)
print('String 8: ', s8)
if(checkAnagrams(s7, s8)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')
s9 = 'creative'
s10 = 'reactive'
print('String 9: ', s9)
print('String 10: ', s10)
if(checkAnagrams(s9, s10)):
print('Yes, the two strings are anagrams of each other')
else:
print('No, the two strings are not anagrams of each other')

תְפוּקָה:

String 1: listen
String 2: silent
Yes, the two strings are anagrams of each other
String 3: Welcome to MUO
String 4: MUO to Welcome
Yes, the two strings are anagrams of each other
String 5: Peter Piper picked a peck of pickled peppers
String 6: A peck of pickled peppers Peter Piper picked
No, the two strings are not anagrams of each other
String 7: She sells seashells by the seashore
String 8: seashells by the seashore
No, the two strings are not anagrams of each other
String 9: creative
String 10: reactive
Yes, the two strings are anagrams of each other

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

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

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

function checkAnagrams(s1, s2) {
let size1 = s1.length;
let size2 = s2.length;
// If the length of both strings are not the same,
// it means they can't be anagrams of each other.
// Thus, return false.
if (size1 != size2)
{
return false;
}
s1.sort();
s2.sort();
for (let i = 0; i {
if (s1[i] != s2[i])
{
return false;
}
}
return true;
}

var s1 = 'listen';
var s2 = 'silent';
document.write('String 1: ' + s1 + '
');
document.write('String 2: ' + s2 + '
');
if(checkAnagrams(s1.split(''), s2.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s3 = 'Welcome to MUO';
var s4 = 'MUO to Welcome';
document.write('String 3: ' + s3 + '
');
document.write('String 4: ' + s4 + '
');
if(checkAnagrams(s3.split(''), s4.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s5 = 'Peter Piper picked a peck of pickled peppers';
var s6 = 'A peck of pickled peppers Peter Piper picked';
document.write('String 5: ' + s5 + '
');
document.write('String 6: ' + s6 + '
');
if(checkAnagrams(s5.split(''), s6.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s7 = 'She sells seashells by the seashore';
var s8 = 'seashells by the seashore';
document.write('String 7: ' + s7 + '
');
document.write('String 8: ' + s8 + '
');
if(checkAnagrams(s7.split(''), s8.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}
var s9 = 'creative';
var s10 = 'reactive';
document.write('String 9: ' + s9 + '
');
document.write('String 10: ' + s10 + '
');
if(checkAnagrams(s9.split(''), s10.split(''))) {
document.write('Yes, the two strings are anagrams of each other' + '
');
} else {
document.write('No, the two strings are not anagrams of each other' + '
');
}

תְפוּקָה:

String 1: listen
String 2: silent
Yes, the two strings are anagrams of each other
String 3: Welcome to MUO
String 4: MUO to Welcome
Yes, the two strings are anagrams of each other
String 5: Peter Piper picked a peck of pickled peppers
String 6: A peck of pickled peppers Peter Piper picked
No, the two strings are not anagrams of each other
String 7: She sells seashells by the seashore
String 8: seashells by the seashore
No, the two strings are not anagrams of each other
String 9: creative
String 10: reactive
Yes, the two strings are anagrams of each other

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

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

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

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

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

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

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

עוד מאת Yuvraj Chandra

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

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

לחצו כאן להרשמה