كيفية التحقق مما إذا كانت هناك سلسلة من الجناس الناقصة لبعضها البعض

كيفية التحقق مما إذا كانت هناك سلسلة من الجناس الناقصة لبعضها البعض

الجناس الناقص عبارة عن سلسلة تتكون من إعادة ترتيب أحرف سلسلة مختلفة. قد يبدو التحقق مما إذا كان هناك سلسلان يمثلان الجناس الناقص لبعضهما البعض أمرًا صعبًا ، لكنه صعب قليلاً ومباشر بشكل مخادع. في هذه المقالة ، ستتعرف على كيفية التحقق مما إذا كانت هناك سلسلتان تمثلان جناسًا مختلفًا عن بعضهما البعض باستخدام 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 تطبيقات لمساعدتك على تعلم البرمجة ليوم المبرمجين الدولي

هل تريد صقل مهاراتك في البرمجة؟ ستساعدك هذه التطبيقات والمواقع على تعلم البرمجة وفقًا لسرعتك الخاصة.

معادل صوت مجاني لنظام التشغيل windows 10
اقرأ التالي مواضيع ذات صلة
  • برمجة
  • جافا سكريبت
  • بايثون
  • البرمجة C
نبذة عن الكاتب يوفراج شاندرا(تم نشر 60 مقالاً)

يوفراج طالب جامعي في علوم الكمبيوتر بجامعة دلهي بالهند. إنه متحمس لتطوير الويب Full Stack. عندما لا يكتب ، فإنه يستكشف عمق التقنيات المختلفة.

المزيد من Yuvraj Chandra

اشترك في نشرتنا الإخبارية

انضم إلى النشرة الإخبارية لدينا للحصول على نصائح تقنية ومراجعات وكتب إلكترونية مجانية وصفقات حصرية!

انقر هنا للاشتراك