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

هل خيطك متناظر؟ سواء كنت تستخدم Python أو C ++ أو JavaScript ، استخدم إحدى هذه الخوارزميات لمعرفة ذلك.

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

أمثلة على سلسلة Palindrome

فيما يلي بعض الأمثلة على السلاسل المتناظرة وغير المتناظرة:

خوارزمية لتحديد ما إذا كانت السلسلة المعطاة متناظرة أم لا

الخوارزميات هي ببساطة سلسلة من التعليمات التي يتم اتباعها خطوة بخطوة للقيام بشيء مفيد أو لحل مشكلة ما. يمكنك حل مشكلة تناظر السلسلة باستخدام الخوارزمية التالية:

  1. قم بتعريف دالة تقبل السلسلة المحددة كمعامل.
  2. أنشئ متغيرًا منطقيًا واضبطه على صحيح. دع المتغير يكون علم.
  3. أوجد طول السلسلة المحددة. دع الطول يكون ن.
  4. قم بتحويل السلسلة المحددة إلى أحرف صغيرة لإجراء المقارنة بين الأحرف غير حساسة لحالة الأحرف.
  5. تهيئة متغير المؤشر المنخفض كـ قليل وضبطها على 0.
  6. instagram viewer
  7. تهيئة متغير المؤشر المرتفع كـ عالي وضبطه على n-1.
  8. قم بما يلي بينما تكون القيمة المنخفضة أقل من عالية:
    • قارن بين الأحرف ذات الفهرس المنخفض والفهرس العالي.
    • إذا لم تتطابق الأحرف ، فاضبط العلم على خطأ واقطع الحلقة.
    • قم بزيادة قيمة منخفض بمقدار 1 وتقليل قيمة مرتفع بمقدار 1.
  9. إذا كان العلم صحيحًا في نهاية الوظيفة ، فهذا يدل على أن السلسلة المحددة هي متناظرة.
  10. إذا كانت العلامة خاطئة في نهاية الوظيفة ، فهذا يدل على أن السلسلة المحددة ليست متناظرة.

برنامج C ++ للتحقق مما إذا كانت السلسلة المعينة متناظرة أم لا

يوجد أدناه تطبيق C ++ لتحديد ما إذا كانت السلسلة المحددة متناظرة أم لا:

// بما في ذلك المكتبات
#تضمن
استخدام اسم للمحطة؛
// وظيفة للتحقق من متناظرة السلسلة
فحص باطل
{
// Flag للتحقق مما إذا كانت السلسلة المحددة متماثلة
علم منطقي = صحيح ؛
// إيجاد طول السلسلة
int n = str.length () ؛
// تحويل السلسلة إلى أحرف صغيرة
لـ (int i = 0 ؛ أنا {
str [i] = tolower (str [i]) ؛
}
// تهيئة متغير المؤشر المنخفض
كثافة منخفضة = 0 ؛
// تهيئة متغير المؤشر المرتفع
كثافة عالية = ن -1 ؛
// تشغيل الحلقة حتى يصبح الارتفاع أكبر من المنخفض
بينما (مرتفع> منخفض)
{
// إذا لم تكن الأحرف متماثلة ، فاضبط العلم على خطأ
// وكسر الحلقة
إذا (str [high]! = str [low])
{
العلم = خطأ ؛
فترة راحة؛
}
// زيادة متغير المؤشر المنخفض
منخفض ++ ؛
// إنقاص متغير المؤشر المرتفع
عالي--؛
}
// تحقق مما إذا كانت العلامة صحيحة أم خطأ
إذا (علم)
{
cout << "نعم ، السلسلة المحددة متناظرة" << endl؛
}
آخر
{
cout << "لا ، السلسلة المحددة ليست متناظرة" << endl؛
}
إرجاع؛
}
انت مين()
{
// حالة الاختبار: 1
سلسلة str1 = "MUO" ؛
checkPalindrome (str1) ؛
// حالة الاختبار: 2
سلسلة str2 = "سيدتي" ؛
checkPalindrome (str2) ؛
// حالة الاختبار: 3
سلسلة str3 = "MAKEUSEOF" ؛
checkPalindrome (str3) ؛
// حالة الاختبار: 4
سلسلة str4 = "racecar" ؛
checkPalindrome (str4) ؛
// حالة الاختبار: 5
سلسلة str5 = "أمي" ؛
checkPalindrome (str5) ؛
العودة 0 ؛
}

انتاج:

لا ، السلسلة المحددة ليست متناظرة 
نعم ، السلسلة المعطاة متناظرة
لا ، السلسلة المحددة ليست متناظرة
نعم ، السلسلة المعطاة متناظرة
نعم ، السلسلة المعطاة متناظرة

برنامج Python للتحقق مما إذا كانت السلسلة المعطاة متناظرة أم لا

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

# وظيفة للتحقق من متناظرة السلسلة
def checkPalindrome (str):
# Flag للتحقق مما إذا كانت السلسلة المحددة متناظرة
العلم = صحيح
# إيجاد طول السلسلة
ن = لين (شارع)
# تحويل السلسلة إلى أحرف صغيرة
str = str.lower ()
# تهيئة متغير المؤشر المنخفض
منخفض = 0
# تهيئة متغير المؤشر المرتفع
عالية = ن -1
# تشغيل الحلقة حتى يصبح الارتفاع أكبر من المستوى المنخفض
بينما مرتفع> منخفض:
# إذا لم تكن الأحرف متماثلة ، فاضبط العلم على خطأ
# وكسر من الحلقة
إذا كان str [مرتفع]! = str [منخفض]:
العلم = خطأ
فترة راحة
# زيادة متغير المؤشر المنخفض
منخفض = منخفض + 1
# إنقاص متغير المؤشر المرتفع
مرتفع = مرتفع - 1
# تحقق مما إذا كان العلم صحيحًا أم خطأ
إذا علم:
طباعة ("نعم ، السلسلة المحددة متناظرة")
آخر:
print ("لا ، السلسلة المحددة ليست متناظرة")
# حالة الاختبار: 1
str1 = "MUO"
checkPalindrome (str1)
# حالة الاختبار: 2
str2 = "سيدتي"
checkPalindrome (str2)
# حالة الاختبار: 3
str3 = "MAKEUSEOF"
checkPalindrome (str3)
# حالة الاختبار: 4
str4 = "سيارة السباق"
checkPalindrome (str4)
# حالة الاختبار: 5
str5 = "أمي"
checkPalindrome (str5)

انتاج:

لا ، السلسلة المحددة ليست متناظرة
نعم ، السلسلة المعطاة متناظرة
لا ، السلسلة المحددة ليست متناظرة
نعم ، السلسلة المعطاة متناظرة
نعم ، السلسلة المعطاة متناظرة

برنامج C للتحقق مما إذا كانت السلسلة المعطاة متطابقة أم لا

يوجد أدناه تطبيق C لتحديد ما إذا كانت السلسلة المحددة متناظرة أم لا:

// بما في ذلك المكتبات
#تضمن
#تضمن
#تضمن
#تضمن
// وظيفة للتحقق من متناظرة السلسلة
فحص باطل Palindrome (char str [])
{
// Flag للتحقق مما إذا كانت السلسلة المحددة متماثلة
علم منطقي = صحيح ؛
// إيجاد طول السلسلة
int n = strlen (str) ؛
// تحويل السلسلة إلى أحرف صغيرة
لـ (int i = 0 ؛ أنا {
str [i] = tolower (str [i]) ؛
}
// تهيئة متغير المؤشر المنخفض
كثافة منخفضة = 0 ؛
// تهيئة متغير المؤشر المرتفع
كثافة عالية = ن -1 ؛
// تشغيل الحلقة حتى يصبح الارتفاع أكبر من المنخفض
بينما (مرتفع> منخفض)
{
// إذا لم تكن الأحرف متماثلة ، فاضبط العلم على خطأ
// وكسر الحلقة
إذا (str [high]! = str [low])
{
العلم = خطأ ؛
فترة راحة؛
}
// زيادة متغير المؤشر المنخفض
منخفض ++ ؛
// إنقاص متغير المؤشر المرتفع
عالي--؛
}
// تحقق مما إذا كانت العلامة صحيحة أم خطأ
إذا (علم)
{
printf ("نعم ، السلسلة المعطاة متناظرة \ ⁠n") ؛
}
آخر
{
printf ("لا ، السلسلة المحددة ليست متناظرة \ ⁠n") ؛
}
إرجاع؛
}
انت مين()
{
// حالة الاختبار: 1
char str1 [] = "MUO" ؛
checkPalindrome (str1) ؛
// حالة الاختبار: 2
شار str2 [] = "سيدتي" ؛
checkPalindrome (str2) ؛
// حالة الاختبار: 3
char str3 [] = "MAKEUSEOF" ؛
checkPalindrome (str3) ؛
// حالة الاختبار: 4
char str4 [] = "racecar"؛
checkPalindrome (str4) ؛
// حالة الاختبار: 5
شار str5 [] = "أمي" ؛
checkPalindrome (str5) ؛
العودة 0 ؛
}

انتاج:

لا ، السلسلة المحددة ليست متناظرة 
نعم ، السلسلة المعطاة متناظرة
لا ، السلسلة المحددة ليست متناظرة
نعم ، السلسلة المعطاة متناظرة
نعم ، السلسلة المعطاة متناظرة

برنامج JavaScript للتحقق مما إذا كانت السلسلة المعينة هي Palindrome أم لا

يوجد أدناه تطبيق JavaScript لتحديد ما إذا كانت السلسلة المحددة متماثلة أم لا:

// وظيفة للتحقق من متناظرة السلسلة
وظيفة checkPalindrome (str) {
// Flag للتحقق مما إذا كانت السلسلة المحددة متماثلة
علم var = صحيح ؛
// إيجاد طول السلسلة
فار ن = طول طول ؛
// تحويل السلسلة إلى أحرف صغيرة
str = str.toLowerCase () ،
// تهيئة متغير المؤشر المنخفض
فار منخفض = 0 ؛
// تهيئة متغير المؤشر المرتفع
فار عالية = ن -1 ؛
// تشغيل الحلقة حتى يصبح الارتفاع أكبر من المنخفض
بينما (مرتفع> منخفض) {
// إذا لم تكن الأحرف متماثلة ، فاضبط العلم على خطأ
// وكسر الحلقة
إذا (str [high]! = str [low]) {
العلم = خطأ ؛
فترة راحة؛
}
// زيادة متغير المؤشر المنخفض
منخفض ++ ؛
// إنقاص متغير المؤشر المرتفع
عالي--؛
}
// تحقق مما إذا كانت العلامة صحيحة أم خطأ
إذا (علم) {
console.log ("نعم ، السلسلة المحددة متناظرة") ؛
} آخر {
console.log ("لا ، السلسلة المحددة ليست متناظرة") ؛
}
}
// حالة الاختبار: 1
var str1 = "MUO" ؛
checkPalindrome (str1) ؛
// حالة الاختبار: 2
var str2 = "سيدتي" ؛
checkPalindrome (str2) ؛
// حالة الاختبار: 3
var str3 = "MAKEUSEOF" ؛
checkPalindrome (str3) ؛
// حالة الاختبار: 4
var str4 = "racecar" ؛
checkPalindrome (str4) ؛
// حالة الاختبار: 5
var str5 = "أمي" ؛
checkPalindrome (str5) ؛

انتاج:

لا ، السلسلة المحددة ليست متناظرة
نعم ، السلسلة المعطاة متناظرة
لا ، السلسلة المحددة ليست متناظرة
نعم ، السلسلة المعطاة متناظرة
نعم ، السلسلة المعطاة متناظرة

تعلم كيفية التعامل مع الجمل في البرمجة

العمل مع السلاسل جزء لا يتجزأ من البرمجة. يجب أن تعرف كيفية استخدام السلاسل ومعالجتها في أي من لغات البرمجة مثل Python و JavaScript و C ++ ، إلخ.

إذا كنت تبحث عن لغة لتبدأ بها ، فإن Python خيار ممتاز.

بريد إلكتروني
تعلم بايثون؟ إليك كيفية التعامل مع السلاسل

قد يبدو استخدام الجمل في بايثون ومعالجتها أمرًا صعبًا ، لكنه واضح ومخادع.

اقرأ التالي

مواضيع ذات صلة
  • برمجة
  • دروس الترميز
عن المؤلف
يوفراج شاندرا (13 مقالة منشورة)

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

المزيد من Yuvraj Chandra

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

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

خطوة أخرى أيضا…!

يرجى تأكيد عنوان بريدك الإلكتروني في البريد الإلكتروني الذي أرسلناه لك للتو.

.