Module: AP قسم علوم الكمبيوتر 2 2015


Problem

2/4

يعكس

Problem

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

(أ) ضع في اعتبارك الفئة ArrayUtil التالية غير المكتملة ، والتي تحتوي على طريقة reverseArray ثابتة.
اكتب طريقة ArrayUtil reverseArray. على سبيل المثال ، إذا كانت arr هي المصفوفة {2،7،5،1،0} ، فإن استدعاء reverseArray يتغير ليصبح {0،1،5،7،2}. أكمل طريقة reverseArray أدناه.

 / ** العناصر العكسية للمصفوفة arr. 
 * الشرط المسبق: arr.length & GT ؛ 0. 
 * الشرط اللاحق: تم عكس عناصر arr. 
 *param arr المصفوفة المراد معالجتها 
 * / 
 عامة   ثابتة   باطل   reverseArray   (  int   []  arr ) 

ب) ضع في اعتبارك فئة المصفوفة غير الكاملة التالية ، والتي تمثل مصفوفة ثنائية الأبعاد من الأعداد الصحيحة. افترض أن المصفوفة تحتوي على عدد صحيح واحد على الأقل.
اكتب عملية المصفوفة reverseAllRows. هذه الطريقة تعكس عناصر كل صف. على سبيل المثال ، إذا كانت matrix تشير إلى كائن Matrix ، فإن الاستدعاء mat1.reverseAllRows () سيغير المصفوفة كما هو موضح أدناه.

عند كتابة reverseAllRows ، يجب استدعاء طريقة reverseArray في الجزء (أ). افترض أن reverseArray يعمل بشكل صحيح بغض النظر عما كتبته في الجزء (أ). أكمل طريقة reverseAllRows أدناه.

 / ** يعكس العناصر في كل صف من الحصيرة. 
 * الشرط اللاحق: تم عكس العناصر في كل صف. 
 * / 
 عامة   باطل   reverseAllRows   () 

ونبسب ؛ ج) اكتب طريقة المصفوفة reverseMatrix. تعكس هذه الطريقة عناصر المصفوفة بحيث تكون العناصر النهائية للمصفوفة ، عند قراءتها بترتيب الصف الرئيسي ، هي نفسها العناصر الأصلية عند قراءتها من الزاوية السفلية ، من اليمين إلى اليسار ، صعودًا. مرة أخرى ، دع mat1 يكون إشارة إلى كائن Matrix. مصفوفة الاستدعاء () ستغير المصفوفة كما هو موضح أدناه.


في كتابة عكس الماتريكس ، يجب عليك استدعاء طريقة reverseAllRows في الجزء (ب). افترض أن reverseAllRows يعمل بشكل صحيح بغض النظر عما كتبته في الجزء (ب). أكمل طريقة عكس المصفوفة أدناه.
نبسب ؛
 / ** يعكس عناصر حصيرة. 
 * شرط لاحق: 
 * - العناصر النهائية للحصيرة ، عند قراءتها بترتيب الصف الرئيسي ، 
 * هي نفس العناصر الأصلية لل mat عند القراءة 
 * من الركن السفلي ، من اليمين إلى اليسار ، صعودًا. 
 * - mat [0] [0] يحتوي على العنصر الأخير في الأصل. 
 * - تحتوي mat [mat.length-1] [mat [0] .length-1] على ما كان 
 * العنصر الأول في الأصل. 
 * / 
 عامة   باطل   reverseMatrix   ()