مكتشف الأنماط
جزء من قسم Fundamentals في رحلة C++ على Coddy — الدرس 73 من 74.
التحدي
سهلقم بإنشاء برنامج يستقبل عددين صحيحين يشيران إلى حجم مصفوفتين من الأعداد الصحيحة كمدخلات، ويحدد ما إذا كانت المصفوفة الثانية تظهر كنمط داخل المصفوفة الأولى (بترتيب متتالي).
يوجد النمط عندما تظهر جميع عناصر المصفوفة الثانية معاً، وبنفس الترتيب، في مكان ما داخل المصفوفة الأولى، تماماً مثل العثور على سلسلة فرعية داخل سلسلة نصية.
على سبيل المثال:
int arr1[] = {1, 2, 3, 4, 5, 6, 7};
int arr2[] = {3, 4, 5};
// Should return trueint arr1[] = {5, 6, 7, 8, 9};
int arr2[] = {6, 8};
// Should return false (not consecutive)جرّب بنفسك
#include <iostream>
#include <vector>
#include <string>
int main() {
int n1;
int n2;
std::cin >> n1;
std::cin >> n2;
std::cin.ignore();
int arr1[n1];
int arr2[n2];
for (int i = 0; i < n1; i++) {
int val;
std::cin >> val;
arr1[i] = val;
}
for (int i = 0; i < n2; i++) {
int val;
std::cin >> val;
arr2[i] = val;
}
// اكتب كودك أدناه باستخدام arr1، arr2، n1، n2
return 0;
}جميع دروس Fundamentals
4المعاملات - الجزء الأول
المعاملات الحسابيةمعامل باقي القسمة (Modulo)الزيادة والنقصانالزيادة والنقصان اللاحقةاختصارات العمليات الحسابيةمعاملات المقارنةمقارنة النصوص