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

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

المطلوب

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

  1. أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها vector و يخزنه في المتغير L.
    تذكر: يجب أن يدخل المستخدم عدد أكبر من صفر, لأن عدد عناصر المصفوفة لا يمكن أن يكون صفر أو أقل من صفر.
  2. ثم يطلب من المستخدم إدخال قيمة لكل عنصر من عناصر المصفوفة vector.
  3. في الأخير يعرض للمستخدم عدد العناصر التي تملك قيم أكبر من صفر, عدد العناصر التي تملك قيم أصغر من صفر, و عدد العناصر التي تملك قيم تساوي صفر.


إرشادات

إستخدم متغير خاص لتخزين عدد العناصر التي تملك قيم أكبر من صفر.
و متغير خاص لتخزين عدد العناصر التي تملك قيم أصغر من صفر.
و متغير خاص لتخزين عدد العناصر التي تملك قيم تساوي صفر.


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

لنفترض أن المستخدم أدخل 10 قيم كما في الصورة التالية.

تحليل النتيجة

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

الخوارزمية

كود الجافا

import java.util.Scanner;
 
public class Vector {
 
    public static void main (String[] args) {
 
        Scanner input = new Scanner(System.in);
 
        int L;
        int[] vector;
        int P = 0;
        int N = 0;
        int Z = 0;
 
        do
        {
            System.out.print("Enter the length of the vector: ");
            L = input.nextInt();
        }
        while ( L<= 0 );
 
        vector = new int[L];
 
        for (int i=0; i<=L-1; i++)
        {
            System.out.print("Enter vector[" +i+ "]: " );
            vector[i] = input.nextInt();
 
            if ( vector[i] > 0 )
            {
                P = P + 1;
            }
 
            else if ( vector[i] < 0 )
            {
                N = N + 1;
            }
 
            else
            {
                Z = Z + 1;
            }
        }
 
        System.out.print("The number of positive numbers is: " +P+ "\n" );
        System.out.print("The number of negative numbers is: " +N+ "\n" );
        System.out.print("The number of zero numbers is: " +Z+ "\n" );
 
    }
 
}

شرح الكود


        int L;
        int[] vector;
        int P = 0;
        int N = 0;
        int Z = 0;
  • هنا قمنا بتجهيز المتغير L لتخزين عدد عناصر المصفوفة, و هو أول شيء سيطلب من المستخدم إدخاله.
  • و المصفوفة vector و التي لم يتم تحديد عدد عناصرها.
  • و المتغير P لتخزين عدد العناصر التي تملك قيمة أكبر من صفر.
  • و المتغير N لتخزين عدد العناصر التي تملك قيمة أصغر من صفر.
  • و المتغير Z لتخزين عدد العناصر التي تملك قيمة تساوي صفر.


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


        vector = new int[L];
  • هنا سيتم تحديد عدد عناصر المصفوفة و الذي يساوي قيمة العدد L التي أدخلها المستخدم.


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


        System.out.print("The number of positive numbers is: " +P+ "\n" );
        System.out.print("The number of negative numbers is: " +N+ "\n" );
        System.out.print("The number of zero numbers is: " +Z+ "\n" );
  • في الأخير سيتم عرض عدد الأرقام الأكبر و الأصغر و التي تساوي صفر التي تم تخزينها في المتغيرات P و N و Z.

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


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