Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

مكتشف الأنماط

جزء من قسم Fundamentals في رحلة R على Coddy — الدرس 77 من 78.

challenge icon

التحدي

سهل

قم بإنشاء دالة تسمى count_pattern تأخذ وسيطين: text و pattern. يجب أن تعيد الدالة عدد مرات ظهور النمط (pattern) في النص (text)، بما في ذلك التداخلات.

ستتلقى سطرين من المدخلات:

  1. سلسلة النص المراد البحث فيها
  2. سلسلة النمط المراد البحث عنه

قم باستدعاء الدالة الخاصة بك مع المدخلات المقدمة واطبع النتيجة.

تلميحات:

  • استخدم nchar() للحصول على طول السلاسل النصية
  • استخدم substr(text, start, stop) لاستخراج سلاسل نصية فرعية
  • قم بالمرور عبر كل موضع بداية صالح وتحقق مما إذا كانت السلسلة الفرعية تطابق النمط

على سبيل المثال، إذا كان الإدخال هو:

ababa
aba

يجب أن تكون المخرجات:

2

التوضيح: النمط "aba" يظهر في الموضع 1 (ababa) والموضع 3 (ababa)، لذا فإن العدد هو 2.

إذا كان الإدخال هو:

mississippi
issi

يجب أن تكون المخرجات:

2

جرّب بنفسك

# قراءة المدخلات
con <- file("stdin", "r")
text <- suppressWarnings(readLines(con, n = 1))
pattern <- suppressWarnings(readLines(con, n = 1))
close(con)

# TODO: إنشاء دالة تسمى count_pattern تأخذ text و pattern
# وتعيد عدد مرات ظهور pattern المتداخلة في text


# استدعاء الدالة وطباعة النتيجة
print(count_pattern(text, pattern))

جميع دروس Fundamentals