التعليم السعودي
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الخامس
جدول المحتويات
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الخامس
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الخامس
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الخامس
التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الخامس
المطلوب
هذا التمرين مقسّم إلى خمسة أفكار رئيسية, عليك اتباع التقسيم التالي خطوة خطوة حتى تنجز البرنامج.
- أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها
vector
و يخزنه في متغير إسمهN
.
تذكر: يجب أن يدخل المستخدم عدد أكبر من صفر, لأن عدد عناصر المصفوفة لا يمكن أن يكون صفر أو أقل من صفر. - ثم يطلب من المستخدم إدخال قيمة لكل عنصر من عناصر المصفوفة
vector
. - ثم يعرض للمستخدم قيم المصفوفة التي قام هو بإدخالها.
- بعدها يقوم بالمرور على جميع عناصر المصفوفة و يفعل التالي:
– كل قيمة يجدها أكبر من صفر يحولها إلى1
– كل قيمة يجدها أصغر من صفر يحولها إلى-1
- في الأخير يعرض للمستخدم قيم المصفوفة من جديد.
كود الجافا
- package vector;
- import java.util.Scanner;
- public class Vector {
- public static void main (String[] args) {
- Scanner input = new Scanner(System.in);
- int N;
- int[] vector;
- do
- {
- System.out.print(“Enter the length of the vector: “);
- N = input.nextInt();
- }
- while ( N <= 0 );
- vector = new int[N] ;
- System.out.print(“\n”);
- for (int i=0; i<=N-1; i++)
- {
- System.out.print(“Enter vector[“ +i+ “]: “ );
- vector[i] = input.nextInt();
- }
- System.out.print(“\nBefore changing: \n”);
- for (int i=0; i<=N-1; i++)
- {
- System.out.print(“vector[“ +i+ “]: “ + vector[i] +“\n”);
- }
- for (int i=0; i<=N-1; i++)
- {
- if ( vector[i] > 0 )
- {
- vector[i] = 1;
- }
- else if ( vector[i] < 0 )
- {
- vector[i] = -1;
- }
- }
- System.out.print(“\nAfter changing: \n”);
- for (int i=0; i<=N-1; i++)
- {
- System.out.print(“vector[“ +i+ “]: “ + vector[i] +“\n”);
- }
- System.out.print(“\n”);
- }
- }
شرح الكود
- int N;
- int[] vector;
-
- هنا قمنا بتجهيز المتغير
N
لتخزين عدد عناصر المصفوفة, و هو أول شيء سيطلب من المستخدم إدخاله. - و المصفوفة
vector
و التي لم يتم تحديد عدد عناصرها.
- هنا قمنا بتجهيز المتغير
- do
- {
- System.out.print(“Enter the length of the vector: “);
- N = input.nextInt();
- }
- while ( N <= 0 );
-
- هنا سيطلب من المستخدم إدخال عدد عناصر المصفوفة, بعدها سيتم تخزينه في المتغير
N
- بعدها سيتم فحص قيمة المتغير
N
. إذا كانت أصغر أو تساوي 0, سيطلب من المستخدم إدخال العدد من جديد. - إذاً هذه الحلقة تضمن أن لا يقوم المستخدم بإدخال عدد أصغر أو يساوي 0.
- هنا سيطلب من المستخدم إدخال عدد عناصر المصفوفة, بعدها سيتم تخزينه في المتغير
- vector = new int[N] ;
-
- هنا سيتم تحديد عدد عناصر المصفوفة و الذي يساوي قيمة العدد
N
التي أدخلها المستخدم. - بعدها سيتم طباعة عدد عناصر المصفوفة باستخدام الخاصية
length
- لو وضعنا
N
بدلvector.length
لكان الجواب نفسه لأن عدد العناصر أيضاً يساوي قيمة المتغيرN
- هنا سيتم تحديد عدد عناصر المصفوفة و الذي يساوي قيمة العدد
- for (int i=0; i<=N-1; i++)
- {
- System.out.print(“Enter vector[“ +i+ “]: “ );
- vector[i] = input.nextInt();
- }
-
- هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها لعرض جميع قيم المصفوفة قبل قيمة أي عنصر فيها.
- System.out.print(“\nBefore changing: \n”);
- for (int i=0; i<=N-1; i++)
- {
- System.out.print(“vector[“ +i+ “]: “ + vector[i] +“\n”);
- }
-
- هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها بهدف عرض قيمة كل عنصر فيها.
- في كل دورة من دورات الحلقة
i
سيطبع للمستخدم أن العنصر رقم كذا قيمته كذا.
- for (int i=0; i<=N-1; i++)
- {
- if ( vector[i] > 0 )
- {
- vector[i] = 1;
- }
- else if ( vector[i] < 0 )
- {
- vector[i] = -1;
- }
- }
-
- هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها لفحص قيمة كل عنصر فيها.
- في كل دورة من دورات الحلقة
i
سيقوم البرنامج بفحص قيمة عنصر ثم تحويلها كالتالي:- إذا وجد أن قيمة العنصر أكبر من 0 سيقوم بوضع
1
مكانها. - إذا وجد أن قيمة العنصر أصغر من 0 سيقوم بوضع
-1
مكانها.
- إذا وجد أن قيمة العنصر أكبر من 0 سيقوم بوضع
- System.out.print(“\nAfter arrangement: \n”);
- for (int i=0; i<vector.length; i++)
- {
- System.out.print(“vector[“ +i+ “]: “ + vector[i] +“\n”);
- }
- في الأخير سيتم إنشاء حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها لعرض قيم المصفوفة بعد أن تم تحويلهم.
المصدر: التعامل مع المصفوفة ذات البعد الواحد في الخوارزميات – التمرين الخامس – المناهج السعودية