Algorithmsالتعامل مع المصفوفة ذات البعدين في الخوارزميات - التمرين الثاني

المطلوب

هذا التمرين مقسّم إلى ثلاثة أفكار رئيسية, عليك اتباع التقسيم التالي خطوة خطوة حتى تنجز البرنامج.

  1. أكتب برنامج يعرّف مصفوفة إسمها matrix تتألف من 3 أسطر و 3 أعمدة.

  2. ثم يطلب من المستخدم إدخال قيم لها.

  3. ثم يعرض للمستخدم ناتج جمع جميع قيم عناصرها.


النتيجة المطلوبة

لنفترض أن المستخدم أدخل القيم ( 1, 2, 3, 4, 5, 6, 7 ,8, 9 ) عند التشغيل.

الخوارزمية

كود الجافا

import java.util.Scanner;
 
public class Matrix {
 
    public static void main (String[] args) {
 
        Scanner input = new Scanner(System.in);
 
        int[][] matrix = new int[3][3];
        int S = 0;
 
        for (int i=0; i<3; i++)
        {
            for (int j=0; j<3; j++)
            {
                System.out.print("Enter matrix["+i+"]["+j+"]: ");
                matrix[i][j] = input.nextInt();
            }
            System.out.print("\n");
        }
 
        for (int i=0; i<3; i++)
        {
            for (int j=0; j<3; j++)
            {
                S = S + matrix[i][j];
            }
        }
 
        System.out.print("The sum of all elements is: " +S+ "\n");
 
    }
 
}
		

شرح الكود


    		int[][] matrix = new int[3][3];
    		int S = 0;
    				
  • هنا قمنا بتجهيز المصفوفة matrix و حددنا أنها تتألف من 3 أسطر و 3 أعمدة.

  • و المتغير S الذي سنستخدمه لاحقاً لتخزين ناتج جمع قيم جميع العناصر الموجودة في المصفوفة لذلك أعطيناه القيمة 0 كقيمة أولية.



  • 		for (int i=0; i<3; i++)
    		{
    			for (int j=0; j<3; j++)
    			{
    				System.out.print("Enter matrix["+i+"]["+j+"]: ");
    				matrix[i][j] = input.nextInt();
    			}
    			System.out.print("\n");
    		}
    				
  • هنا قمنا بإنشاء الحلقتين i و j لجعل المستخدم يدخل قيمة لكل عنصر في المصفوفة.

  • الحلقة i للإنتقال من سطر إلى آخر في المصفوفة, و الحلقة j للإنتقال من عمود إلى آخر في كل سطر في المصفوفة.

  • هنا في كل دورة من دورات الحلقة i سيتم إنشاء حلقة j للمرور على جميع العناصر الموجودة في نفس السطر.

  • في كل دورة من دورات الحلقة j سيطلب من المستخدم إدخال قيمة لعنصر, ثم سيتم تخزينها في هذا العنصر.

  • بعد توقف الحلقة j, أي بعد إعطاء قيم لجميع العناصر الموجودة في نفس السطر, سيتم النزول على سطر جديد بسبب الرمز \n.



  • 		for (int i=0; i<3; i++)
    		{
    			for (int j=0; j<3; j++)
    			{
    				S = S + matrix[i][j];
    			}
    		}
    				
  • هنا قمنا بإنشاء الحلقتين i و j للوصول إلى جميع قيم عناصر المصفوفة.

  • كل عنصر يتم الوصول إليه, يتم إضافة قيمته على قيمة المتغير S.

  • إذاً عند توقف الحلقتين i و j سيكون المتغير S يحتوي على ناتج جميع قيم عناصر المصفوفة.



  • 		System.out.print("The sum of all elements is: " +S+ "\n");
    				
  • هنا قمنا بعرض قيمة المتغير S كناتج جمع جميع قيم العناصر الموجودة في المصفوفة.

دورات

أدوات