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

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

المطلوب

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

  1. أكتب برنامج يقوم بتعريف ثلاث مصفوفات A و B و C.
  2. ثم يطلب من المستخدم إدخال عدد يمثل عدد عناصر المصفوفات الثلاثة.
    تذكر: يجب أن يدخل المستخدم عدد أكبر من صفر, لأن عدد عناصر المصفوفات لا يمكن أن يكون صفر أو أقل من صفر.
  3. بعدها يطلب من المستخدم إدخال قيمة لجميع عناصر المصفوفتين A و B و يجمعهم في المصفوفة C.
  4. في الأخير يعرض للمستخدم القيم التي أصبحت تحتويها المصفوفة C.

إرشادات

يجب أن يتم جمع قيم عناصر المصفوفتين A و B في المصفوفة C كالتالي.


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

لنفترض أن المستخدم أراد حجم المصفوفات يساوي 3 و أدخل نفس القيم كما في الصورة السابقة.

الخوارزمية

كود الجافا

import java.util.Scanner;
 
public class Vector {
 
    public static void main (String[] args) {
 
        Scanner input = new Scanner(System.in);
 
        int N;
        int[] A;
        int[] B;
        int[] C;
 
        do
        {
            System.out.print("Enter the length for all vectors: ");
            N = input.nextInt();
        }
        while ( N <= 0 );
 
        A = new int[N];
        B = new int[N];
        C = new int[N];
 
        System.out.print("\n");
 
        for (int i=0; i<=N-1; i++)
        {
            System.out.print("Enter A[" +i+ "]: ");
            A[i] = input.nextInt();
 
            System.out.print("Enter B[" +i+ "]: ");
            B[i] = input.nextInt();
 
            C[i] = A[i] + B[i];
        }
 
        System.out.print("\n");
 
        for (int i=0; i<=N-1; i++)
        {
            System.out.print("C[" +i+ "]: " + C[i] +"\n");
        }
 
        System.out.print("\n");
 
    }
 
}

شرح الكود


        int N;
        int[] A;
        int[] B;
        int[] C;
  • هنا قمنا بتجهيز المتغير N لتخزين عدد عناصر المصفوفات الثلاثة, و هو أول شيء سيطلب من المستخدم إدخاله.
  • و المصفوفات A و B و C و لم نحدد عدد عناصرهم.


        do
        {
            System.out.print("Enter the length for all vectors: ");
            N = input.nextInt();
        }
        while ( N <= 0 );
  • هنا سيطلب من المستخدم إدخال عدد عناصر المصفوفات الثلاثة, بعدها سيتم تخزينه في المتغير N.
  • بعدها سيتم فحص قيمة المتغير N, إذا كانت أصغر أو تساوي 0 سيطلب من المستخدم إدخال العدد من جديد.
  • إذاً هذه الحلقة تضمن أن لا يقوم المستخدم بإدخال عدد أصغر أو يساوي 0.


        A = new int[N];
        B = new int[N];
        C = new int[N];
  • هنا سيتم تحديد عدد عناصر المصفوفات الثلاثة و الذي هو قيمة المتغير N الذي أدخله المستخدم.


        for (int i=0; i<=N-1; i++)
        {
            System.out.print("Enter A[" +i+ "]: ");
            A[i] = input.nextInt();
        
            System.out.print("Enter B[" +i+ "]: ");
            B[i] = input.nextInt();
        
            C[i] = A[i] + B[i];
        }
  • هنا أنشأنا حلقة تبدأ من index العنصر الأول في كل المصفوفات (أي العنصر رقم 0) إلى آخر عنصر موجود في المصفوفات و الذي يملك الـ index الأخير (أي N-1).
  • في كل دورة من دورات الحلقة i سيحدث التالي:
    • سيطلب من المستخدم إدخال قيمة لعنصر في المصفوفة A, ثم قيمة لعنصر في المصفوفة B, ثم سيتم حساب ناتج جمع قيم هذين العنصرين ووضع كقيمة لعنصر في المصفوفة C.
    • فمثلاً, عندما تكون قيمة العداد i تساوي 0 سيطلب منه إدخال قيمة للعنصر A[0] و العنصر B[0] ثم يجمعهم و يضع الناتج في العنصر C[0].


        for (int i=0; i<=N-1; i++)
        {
            System.out.print("C[" +i+ "]: " + C[i] +"\n");
        }
  • هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة C إلى آخر عنصر موجود فيها بهدف عرض قيمة كل عنصر فيها.
  • في كل دورة من دورات الحلقة i سيطبع للمستخدم أن العنصر رقم كذا قيمته كذا.

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


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