Programming Basics SQL HTML CSS JavaScript Python C++ Java JavaFX Swing Problem Solving English English Conversations Computer Fundamentals Learn Typing

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

المطلوب

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

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

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

لنفترض أن المستخدم أدخل 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");
}
}
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;
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");
}
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];
}
}
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");
System.out.print("The sum of all elements is: " +S+ "\n");
  • هنا قمنا بعرض قيمة المتغير S كناتج جمع جميع قيم العناصر الموجودة في المصفوفة.

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


دورة تعلم البرمجة للمبتدئين >