تجري عادة ألعاب الدوري السوري في مرحلتين ذهاب و إياب و نريد في هذه المسالة نمذجة نتائج المباريات كمايلي
نعرف جدول يحوي اسماء الفرق و لتكن :
String[ ] Teams = {“Karameh” , “Wahdah”, “Tishreen” , “Jayesh”, “Hitten”, “Etihad”,”Fotowah”};
و بالتالي يمكن الإستعاضة ضمن البرنامج عن كل من النوادي السابقة برقمه في المصفوفة
Karameh ó 0
Fotowah ó 6
و لنفترض أنه لدينا المصفوفة التالية و التي تمثل نتائج المباريات
int[ ][ ] Scores = {
{0,1,3,0,3,1,1},
{1,0,0,0,3,3,1},
{3,1,0,1,0,0,1},
{1,1,3,0,0,1,1},
{1,3,0,0,0,1,3},
{1,0,0,1,0,3,0}
};
رقم الفريق
0
1
2
3
4
5
6
0
0
1
3
0
3
1
1
1
1
0
0
0
3
3
1
2
3
1
0
1
0
0
1
3
1
1
3
0
0
1
1
4
1
3
0
0
0
1
3
5
3
1
0
3
0
0
0
6
1
0
0
1
0
3
0
يتم التمثيل كما يلي
لعب الفريق 0 على أرضه مع الفريق 1 فتعادل معه لذلك وضعنا Scores[0][1] = 1
لعب الفريق 0 على أرضه مع الفريق 2 فربح لذلك وضعنا Scores[0][2] = 3
لعب الفريق 0 على أرضه مع الفريق 3 فخسر لذلك وضعنا Scores[0][3] = 0
أي أن العنصر Scores[j] هو نتيجة لعب الفريق i على أرضه مع الفريق j
وتوضع النتيجة كمايلي
ربح ç 3
خسارة ç 0
تعادل ç 1
كيفية احتساب نقاط فريق ما:
لاحتساب مجموع نقاط فريق ما يجب أن جميع نقاط الذهاب و نقاط الإياب أو بمعنى آخر يجب أن نجمع نقاط المباريات التي لعبها على أرضه و نقاط المباريات التي لعبها خارج أرضه
سنأخذ فريقاً ما كمثال لنجري العملية و ليكن الفريق 3:
أولاً :احتساب مجموع النقاط التي لعبها على أرضه
ننظر هنا إلى السطر 3 حيث تم تسجيل نتائج اللعب على أرضه فيها ونجمعها فتكون
1+1+3+0+0+1+1 = 7
ثانياً :احتساب مجموع النقاط التي لعبها على غير أرضه
ننظر هنا للعمود 3 حيث يحوي النقاط التي كسبتها الفرق الخصم عند اللعب مع الفريق 3 على أرضها و بالتالي يمكن منها احتساب النقاط التي كسبها 3 خارج أرضه كما يلي
أول قيمة في العمود 3 هي 0 أي أن الفريق 0 خسر المباراة مع 3 و بالتالي ياخذ الفريق 3 ثلاث نقاط
ثاني قيمة في العمود 3 هي 0 بالتالي ياخذ الفريق 3 ثلاث نقاط
ثالث قيمة في العمود 3 هي 1 بالتالي ياخذ الفريق 3 نقطة واحدة (حالة التعادل)
رابع قيمة في العمود 3 هي 0 نقوم بتجاهلها لأن في هذه الحالة لا تعني شيء (عناصر القطر الرئيسي تكون مهملة لأنها تعبرر عن لعب الفريق مع نفسه)
خامس قيمة في العمود 3 هي 0 بالتالي ياخذ الفريق 3 ثلاث نقاط
سادس قيمة في العمود 3 هي 3 بالتالي لا ياخذ الفريق 3 أي نقطة لأنه خسر المباراة
سابع قيمة في العمود 3 هي 1 بالتالي ياخذ الفريق 3 نقطة واحدة
بجمع النقاط يكون لدينا
3+3+1+3+0+1 = 11
و هي مجموع نقاط المباريات الست التي لعبها الفريق 3 خارج أرضه
أخيراً نجمع النقاط على أرضه مع النقاط خارج أرضه لتصبح
7+11 = 18
المطلوب
1- أكتب برنامجاً جزئياً يقوم بإحتساب مجموع نقاط فريق ما على أرضه ، اسمه getInLandTeamPoints
2- أكتب برنامجاً جزئياً يقوم بإحتساب مجموع نقاط فريق ما خارج أرضه، اسمه getOutLandTeamPoints
3- أكتب برنامجاً جزئياً يقوم بإحتساب مجموع نقاط فريق ما اسمه getTeamPoints
4- أكتب برنامجاً جزئياً يقوم بإيجاد الفريق الأول بالدوري (الذي أحرز عدد النقاط الأكبر) findFirstTeam
5- أكتب برنامجاً جزئياً يقوم بإيجاد الفريق الذي أحرز أكبر عدد من الفوز على أرضه findInLandWinner
6- أكتب برنامجاً جزئياً يقوم بإيجاد الفريق الذي أحرز أكبر عدد من الفوز خارج أرضه findOutLandWinner
7- أكتب برنامجاً جزئياً يقوم بإيجاد الفريق الذي أحرز أكبر عدد من الخسارة على أرضه findInLandLooser
8- أكتب برنامجاً جزئياً يقوم بإيجاد الفريق الذي أحرز أكبر عدد من الخسارة خارج أرضه findOutLandLooser
9- أكتب برنامجاً يحوي البرامج الجزئية السابقة و يقوم باستدعائها واحداً تلو الآخر وإظهار النتائج على المصفوفة المذكورة سابقاً