السلام عليكم
ملاحظة : لا يُسمح باستخدام الدوال التي تحل محل الخوارزمية, يُمكن الاستعانة بالدوال الأساسية مثل chatAt و length و ما شابه ..
الهدف من هذه الحلقة هو محاكاة بعض الدوال الموجودة في الواجهة Set من خلال كتابة فئة تسمح بالتعامل مع مجموعة من الأعداد الطبيعية. (المطلوب هو كتابة الفئة دون استخدام إحدى فئات الـ Collections)
الفئة Ensemble يجب أن تحتوي على :
- مصفوفة تُخزن عناصر المجموعة.
- دالة بناء تسمح بإنشاء مجموعة من الأعداد الطبيعة انطلاقا من قيم مصفوفة يتم تمريرها كوسيط بالإضافة إلى دالة بناء أخرى تسمح بإنشاء مجموعة فارغة.
- add : تسمح بإضافة عنصر جديد إلى المجموعة.
- toString : تُظهر عناصر المجموعة بين معكوفين. (مثال : {4, 3, 2, 1})
- contains : تُعيد true إذا كانت المجموعة الحالية تحوي المجموعة المُمررة كوسيط و false في الحالة المعاكسة.
- sort : تقوم بترتيب عناصر المجموعة.
- union : تُعيد كائناً من Ensemble يحوي اتحاد المجموعة الحالية مع المجموعة المُمررة كوسيط.
- intersection : تُعيد العناصر المشتركة بين المجموعة الحالية و المجموعة المُمررة كوسيط.
- powerSet : تقوم بإظهار مجموعة المجموعات الجزئية (Power set) للمجموعة الحالية.
- سؤال إضافي : اكتب دالة تستقبل جملة و تُعيد عدد كلماتها. (عدد الكلمات هنا بالمفهوم العام لأن الـ separator يُمكن أن يكون مسافة أو أي محرف آخر لذا يُستحسن تمريره كوسيط للدالة)
تُرسل الإجابة على الخاص.
تحياتي.