اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

لجمع عناصر كل صف لوحده و كل عمود لوحده نستخدم حلقتين متداخلتين حيث في جمع الصف نجعل الحلقة الخارجية للصفوف و الحلقة الداخلية للأعمدة. أما في جمع عناصر العمود نجعل الحلقة الخارجية للأعمدة و الداخلية للصفوف أي العكس و هذا مثال تطبيقي على الأمر:

public class Main
{
  public static void main(String[] args) {
    int rows, cols, sumRow, sumCol;

    int a[][] = {     
      {1, 2, 3},  
      {4, 5, 6},  
      {7, 8, 9}  
    };

    rows = a.length;  
    cols = a[0].length;

    //Calculates sum of each row of given matrix  
    for(int i = 0; i < rows; i++){  
      sumRow = 0;  
      for(int j = 0; j < cols; j++){  
        sumRow += a[i][j];  
      }  
      System.out.println("Sum of " + (i+1) +" row: " + sumRow);  
    }

    //Calculates sum of each column of given matrix  
    for(int i = 0; i < cols; i++){  
      sumCol = 0;  
      for(int j = 0; j < rows; j++){  
        sumCol += a[j][i];  
      }  
      System.out.println("Sum of " + (i+1) +" column: " + sumCol);  
    }
    
  }
}

سيكون الخرج للمثال اعلاه كالتالي:

Sum of 1 row: 6
Sum of 2 row: 15
Sum of 3 row: 24
Sum of 1 column: 12
Sum of 2 column: 15
Sum of 3 column: 18

أما لإنشاء مصفوفة و ملئها بمدخلات المستخدم نحتاج إلى إستخدام الحزمة Scanner كما هو موضح في المثال:

import java.util.Scanner;

public class Main
{
  public static void main(String args[]){

    System.out.print("Enter 2D array size : ");
    Scanner sc=new Scanner(System.in);
    int rows=sc.nextInt(); // قراءة عدد الصفوف
    int columns=sc.nextInt(); // قراءة عدد الأعمدة

    System.out.println("Enter array elements : ");    

    int twoD[][]=new int[rows][columns]; // إنشاء المصفوفة بالحجم الذي أدخله المستخدم

	// ملء المصفوفة بالعناصر
    for(int i=0; i<rows;i++)
    {            
      for(int j=0; j<columns;j++)
      {
        twoD[i][j]=sc.nextInt(); // قراءة العدد و تخزينه في مكانه
      }
    }
    
    // طباعة العناصر التي أدخلها المستخدم
    System.out.print("\nData you entered : \n");
    for(int []x:twoD){
      for(int y:x){
        System.out.print(y+"        ");
      }
      System.out.println();
    }

  }   
}

ستكون نتيجة تنفيذ البرنامج أعلاه كالتالي:

Enter 2D array size : 3
3
Enter array elements : 
1
2
3
4
5
6
7
8
9

Data you entered : 
1        2        3        
4        5        6        
7        8        9  

بإمكانك دمج المثالين مع بعض للحصول على برنامج واحد كما تريد 

يُمكنك الإطلاع على مفهوم المصفوفات ثنائية البعد بشكل موسع من خلال المقال: المصفوفات ثنائية البعد (Two-dimensional Arrays) في جافا

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...