المطلوب
قم بتعريف دالة إسمها RemoveAll, عند استدعاءها نمرر لها نصيّن, فترجع نسخة من النص لا تحتوي على النص الثاني.
بعدها قم بتجربة هذه الدالة في البرنامج.
مثال: إذا قمنا باستخدام الدالة RemoveAll() و تمرير النص "I like cats. I have one cat." و الكلمة "cat" لها فإنها سترجع النص "I like s. I have one .".
الحل بلغة C++
#include <iostream>
#include <string>
std::string removeAll(std::string s1, std::string s2) {
int L1 = s1.length();
int L2 = s2.length();
std::string newS = "";
for (int i = 0; i < L1;)
{
if (i <= L1 - L2 && s1.substr(i, L2) == s2)
{
i += L2;
}
else
{
newS += s1[i];
i += 1;
}
}
return newS;
}
int main() {
std::string text = "I like cats. I have one cat.";
std::string keyword = "cat";
std::string newText = removeAll(text, keyword);
std::cout << "Before: " << text << "\n";
std::cout << "After: " << newText << "\n";
char end; std::cin >> end;
return 0;
}
سنحصل على النتيجة التالية عند التشغيل.
Before: I like cats. I have one cat. After: I like s. I have one .


محرر الويب
نظام الألوان
محول الوحدات
محلل عناوين الشبكات