يتم إعطاؤك مقتطف تعليمات برمجية يحسب النسبة المئوية بناءً على مصفوفة ثنائية الأبعاد معينة وقيمة التسامح. مهمتك هي كتابة دالة تكمل مقتطف الشفرة من خلال تنفيذ الأجزاء المفقودة.

يأخذ مقتطف الشفرة المقدم صفيفين ثنائي الأبعاد: `cp` و`base`، وكلاهما بحجم N x N. ويمثل المتغير `N` عدد الصفوف والأعمدة في كل صفيف.

الهدف هو مقارنة كل عنصر في المصفوفة "cp" بالعنصر المقابل في المصفوفة "الأساسية". إذا كان الفرق المطلق بين العناصر أقل من أو يساوي 100، تتم زيادة العداد (`cnt`) بمقدار 1.

مهمتك هي إكمال الأجزاء المفقودة من مقتطف الشفرة:

1. قم بتنفيذ الحلقة المفقودة التي تتكرر عبر عناصر المصفوفات `cp` و`base`.
2. حساب نسبة العناصر التي تحقق شرط فرق القيمة المطلقة.
     - إذا كانت قيمة `cnt` صفراً، فسيتم إرجاع 0.0.
     - وبخلاف ذلك يتم إرجاع النسبة المحسوبة بـ (cnt * 100.0) / (N * N).

اكتب دالة `calculate_percentage(cp, base, N)` تأخذ المعلمات التالية:
- `cp`: مصفوفة ثنائية الأبعاد من الأعداد الصحيحة التي تمثل القيم الحالية.
- `base`: مصفوفة ثنائية الأبعاد من الأعداد الصحيحة التي تمثل القيم الأساسية.
- `N`: عدد صحيح يمثل عدد الصفوف والأعمدة في المصفوفات.

ملحوظة:
- يمكنك افتراض أن جميع المدخلات صحيحة وأن `N` أكبر من الصفر.

يجب أن ترجع وظيفتك قيمة عائمة تمثل النسبة المئوية المحسوبة.
{"source": "argilla/DistiCoder-dpo-binarized", "kind": "synthetic", "evolved_from": null}