بقلم يوفراج شاندرا
يشارك
بريد إلكتروني

تعتبر المقارنة بين الجملتين النصيتين من الجناس الناقصة مهمة حل مشكلة كبيرة لتحسين مهارات البرمجة.

الجناس الناقص عبارة عن سلسلة تتكون من إعادة ترتيب أحرف سلسلة مختلفة. قد يبدو التحقق مما إذا كان هناك سلسلان يمثلان الجناس الناقص لبعضهما البعض أمرًا صعبًا ، لكنه صعب قليلاً ومباشر بشكل مخادع. في هذه المقالة ، ستتعرف على كيفية التحقق مما إذا كانت هناك سلسلتان تمثلان جناسًا مختلفًا عن بعضهما البعض باستخدام C ++ و Python و JavaScript.

عرض المشكلة

لقد تم إعطاؤك سلسلتين s1 و s2 ، وتحتاج إلى التحقق مما إذا كانت السلسلتان هما الجناس الناقصان أم لا.

مثال 1: دع s1 = "إبداعي" و s2 = "تفاعلي".

نظرًا لأن السلسلة الثانية يمكن تشكيلها عن طريق إعادة ترتيب أحرف السلسلة الأولى والعكس صحيح ، فإن السلاسل هما الجناس الناقصان لبعضهما البعض.

مثال 2: دعونا s1 = "بيتر بايبر اختار نقرة من الفلفل المخلل" و s2 = "نقرة من الفلفل المخلل اختارها بيتر بايبر".

نظرًا لأن الوتر الثاني لا يمكن تشكيله عن طريق إعادة ترتيب أحرف السلسلة الأولى والعكس بالعكس ، فإن السلسلتين ليستا جناسيتين لبعضهما البعض.

instagram viewer

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

يمكنك اتباع النهج أدناه للتحقق مما إذا كانت السلسلتان عبارة عن جناس في بعضهما البعض:

  1. قارن طول كلا الخيطين.
  2. إذا لم يكن طول كلا الخيطين متماثلاً ، فهذا يعني أنه لا يمكن أن يكونا الجناس الناقصين لبعضهما البعض. وبالتالي ، العودة كاذبة.
  3. إذا كان طول كلا الخيطين هو نفسه ، فتابع.
  4. فرز كلا الخيطين.
  5. قارن كلا السلاسل المصنفة.
  6. إذا كانت كلتا السلسلتين متماثلتين ، فهذا يعني أنهما متماثلان في الجناس. وبالتالي ، العودة إلى الحقيقة.
  7. إذا كانت كلتا السلسلتين مختلفتين ، فهذا يعني أنهما ليسا الجناس الناقصين. وبالتالي ، العودة كاذبة.

متعلق ب: كيفية التحقق مما إذا كانت السلسلة متناظرة

برنامج C ++ للتحقق مما إذا كانت هناك سلسلة من الجناس الناقصة لبعضها البعض

يوجد أدناه برنامج C ++ للتحقق مما إذا كانت هناك سلسلتان تمثلان جناسًا مختلفًا أم لا:

#يشمل 
استخدام اسم للمحطة؛
bool checkAnagrams (سلسلة s1 ، سلسلة s2)
{
حجم int1 = s1.length () ؛
حجم int2 = s2.length () ؛
// إذا لم يكن طول كلا الخيطين متماثلاً ،
// هذا يعني أنهما لا يمكن أن يكونا جناسًا لبعضهما البعض.
// وهكذا ، إرجاع خطأ.
إذا كان (size1! = size2)
{
عودة كاذبة؛
}
فرز (s1.begin () ، s1.end ()) ؛
sort (s2.begin () ، s2.end ()) ؛
لـ (int i = 0 ؛ أنا {
إذا (s1 [i]! = s2 [i])
{
عودة كاذبة؛
}
}
العودة صحيح
}
انت مين()
{
سلسلة s1 = "استمع" ؛
سلسلة s2 = "صامت" ؛
cout << "String 1:" << s1 << endl؛
cout << "String 2:" << s2 << endl؛
إذا (checkAnagrams (s1، s2))
{
cout << "نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض" << endl؛
}
آخر
{
cout << "لا ، السلسلتان ليسا جناسًا جناسًا لبعضهما البعض" << endl؛
}
string s3 = "مرحبًا بك في MUO" ؛
string s4 = "MUO to Welcome"؛
cout << "String 3:" << s3 << endl؛
cout << "String 4:" << s4 << endl؛
إذا (checkAnagrams (s3، s4))
{
cout << "نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض" << endl؛
}
آخر
{
cout << "لا ، السلسلتان ليسا جناسًا جناسًا لبعضهما البعض" << endl؛
}
string s5 = "بيتر بايبر يقطف نقرة من الفلفل المخلل"؛
string s6 = "قطف نقرة من الفلفل المخلل بيتر بايبر"؛
cout << "String 5:" << s5 << endl؛
cout << "String 6:" << s6 << endl؛
إذا (checkAnagrams (s5، s6))
{
cout << "نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض" << endl؛
}
آخر
{
cout << "لا ، السلسلتان ليسا جناسًا جناسًا لبعضهما البعض" << endl؛
}
string s7 = "تبيع الأصداف على شاطئ البحر"؛
string s8 = "صدف البحر على شاطئ البحر"؛
cout << "String 7:" << s7 << endl؛
cout << "String 8:" << s8 << endl؛
إذا (checkAnagrams (s7، s8))
{
cout << "نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض" << endl؛
}
آخر
{
cout << "لا ، السلسلتان ليسا جناسًا جناسًا لبعضهما البعض" << endl؛
}
سلسلة s9 = "إبداعية" ؛
سلسلة s10 = "رد فعل" ؛
cout << "String 9:" << s9 << endl؛
cout << "String 10:" << s10 << endl؛
إذا (checkAnagrams (s9، s10))
{
cout << "نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض" << endl؛
}
آخر
{
cout << "لا ، السلسلتان ليسا جناسًا جناسًا لبعضهما البعض" << endl؛
}
العودة 0 ؛
}

انتاج:

السلسلة 1: استمع
السلسلة 2: صامت
نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض
السلسلة 3: مرحبًا بك في MUO
السلسلة 4: MUO للترحيب
نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض
السلسلة 5: اختار بيتر بايبر حفنة من الفلفل المخلل
السلسلة 6: قطف نقرة من الفلفل المخلل بيتر بايبر
لا ، الخيطان ليسا الجناس الناقصة لبعضهما البعض
السلسلة 7: تبيع الأصداف البحرية على شاطئ البحر
السلسلة 8: الصدف على شاطئ البحر
لا ، الخيطان ليسا الجناس الناقصة لبعضهما البعض
السلسلة 9: إبداعي
السلسلة 10: رد الفعل
نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض

متعلق ب: كيفية حساب تكرارات حرف معين في سلسلة

برنامج Python للتحقق مما إذا كان هناك سلسلان يمثلان الجناس الناقصة لكل منهما

يوجد أدناه برنامج Python للتحقق مما إذا كانت سلسلتان عبارة عن جناس في بعضهما البعض أم لا:

def checkAnagrams (s1، s2):
size1 = len (s1)
size2 = len (s2)
# إذا كان طول كلا الخيطين غير متماثل ،
# هذا يعني أنه لا يمكن أن يكونوا الجناس الناقص لبعضهم البعض.
# هكذا ترجع كاذبة.
إذا كان الحجم 1! = الحجم 2:
العودة 0
s1 = مرتبة (s1)
s2 = مصنفة (s2)
لأني في النطاق (0 ، الحجم 1):
إذا كان s1 [i]! = s2 [i]:
عودة كاذبة
عودة صحيح
s1 = "استمع"
s2 = "صامت"
طباعة ("السلسلة 1:" ، s1)
طباعة ("سلسلة 2:" ، s2)
إذا (checkAnagrams (s1، s2)):
طباعة ("نعم ، السلسلتان عبارة عن جناس مصغر لبعضهما البعض")
آخر:
print ("لا ، السلسلتان ليسا الجناس الناقصة لبعضهما البعض")
s3 = "مرحبًا بك في MUO"
s4 = "ترحيب MUO"
طباعة ("السلسلة 3:" ، s3)
طباعة ("سلسلة 4:" ، s4)
إذا (checkAnagrams (s3، s4)):
طباعة ("نعم ، السلسلتان عبارة عن جناس مصغر لبعضهما البعض")
آخر:
print ("لا ، السلسلتان ليسا الجناس الناقصة لبعضهما البعض")
s5 = "بيتر بايبر اختار حبة فلفل مخلل"
s6 = "قطعة من الفلفل المخلل قطف بيتر بايبر"
طباعة ("String 5:"، s5)
طباعة ("String 6:"، s6)
إذا (checkAnagrams (s5، s6)):
طباعة ("نعم ، السلسلتان عبارة عن جناس مصغر لبعضهما البعض")
آخر:
print ("لا ، السلسلتان ليسا الجناس الناقصة لبعضهما البعض")
s7 = "تبيع الأصداف على شاطئ البحر"
s8 = "صدف على شاطئ البحر"
طباعة ("String 7:"، s7)
طباعة ("String 8:"، s8)
إذا (checkAnagrams (s7، s8)):
طباعة ("نعم ، السلسلتان عبارة عن جناس مصغر لبعضهما البعض")
آخر:
print ("لا ، السلسلتان ليسا الجناس الناقصة لبعضهما البعض")
s9 = "إبداعي"
s10 = "رد فعل"
طباعة ("String 9:"، s9)
طباعة ("String 10:"، s10)
إذا (checkAnagrams (s9، s10)):
طباعة ("نعم ، السلسلتان عبارة عن جناس مصغر لبعضهما البعض")
آخر:
print ("لا ، السلسلتان ليسا الجناس الناقصة لبعضهما البعض")

انتاج:

السلسلة 1: استمع
السلسلة 2: صامت
نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض
السلسلة 3: مرحبًا بك في MUO
السلسلة 4: MUO للترحيب
نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض
السلسلة 5: اختار بيتر بايبر حفنة من الفلفل المخلل
السلسلة 6: قطف نقرة من الفلفل المخلل بيتر بايبر
لا ، الخيطان ليسا الجناس الناقصة لبعضهما البعض
السلسلة 7: تبيع الأصداف البحرية على شاطئ البحر
السلسلة 8: الصدف على شاطئ البحر
لا ، الخيطان ليسا الجناس الناقصة لبعضهما البعض
السلسلة 9: إبداعي
السلسلة 10: رد الفعل
نعم ، السلاسل هما الجناس الناقصة لبعضهما البعض

متعلق ب: كيفية البحث عن أحرف العلة والحروف الساكنة والأرقام والأحرف الخاصة في سلسلة

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

يوجد أدناه برنامج JavaScript للتحقق مما إذا كانت سلسلتان عبارة عن جناس في بعضهما البعض أم لا:

وظيفة checkAnagrams (s1، s2) {
اسمحوا size1 = s1.length ؛
اسمحوا size2 = s2.length ؛
// إذا لم يكن طول كلا الخيطين متماثلاً ،
// هذا يعني أنهما لا يمكن أن يكونا جناسًا لبعضهما البعض.
// وهكذا ، إرجاع خطأ.
إذا كان (size1! = size2)
{
عودة كاذبة؛
}
s1.sort () ؛
s2.sort () ،
لـ (دع أنا = 0 ؛ أنا {
إذا (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 to Welcome" ؛
document.write ("String 3:" + s3 + "
");
document.write ("String 4:" + s4 + "
");
إذا (checkAnagrams (s3.split ("") ، s4.split (""))) {
document.write ("نعم ، السلسلتان عبارة عن جناس متناسق مع بعضهما البعض" + "
");
} آخر {
document.write ("لا ، السلسلتان ليسا جناسًا جناسًا لبعضهما البعض" + "
");
}
var s5 = "بيتر بايبر يقطف نقرة من الفلفل المخلل"؛
var s6 = "حفنة من الفلفل المخلل قطف بيتر بايبر"؛
document.write ("String 5:" + s5 + "
");
document.write ("String 6:" + s6 + "
");
إذا (checkAnagrams (s5.split ("") ، s6.split (""))) {
document.write ("نعم ، السلسلتان عبارة عن جناس متناسق مع بعضهما البعض" + "
");
} آخر {
document.write ("لا ، السلسلتان ليسا جناسًا جناسًا لبعضهما البعض" + "
");
}
var s7 = "تبيع الأصداف على شاطئ البحر"؛
var s8 = "صدف على شاطئ البحر"؛
document.write ("String 7:" + s7 + "
");
document.write ("String 8:" + s8 + "
");
إذا (checkAnagrams (s7.split ("") ، s8.split (""))) {
document.write ("نعم ، السلسلتان عبارة عن جناس متناسق مع بعضهما البعض" + "
");
} آخر {
document.write ("لا ، السلسلتان ليسا جناسًا جناسًا لبعضهما البعض" + "
");
}
var s9 = "إبداعي" ؛
var s10 = "رد فعل" ؛
document.write ("String 9:" + s9 + "
");
document.write ("String 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 تطبيقات لمساعدتك على تعلم البرمجة ليوم المبرمجين الدولي

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

اقرأ التالي

مواضيع ذات صلة
  • برمجة
  • جافا سكريبت
  • بايثون
  • البرمجة C
نبذة عن الكاتب
يوفراج شاندرا (تم نشر 43 مقالة)

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

المزيد من Yuvraj Chandra

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

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

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