الخوارزمياتالتعامل مع المصفوفة ذات البعد الواحد - التمرين الثاني
المطلوب
هذا التمرين مقسّم إلى ثلاثة أفكار رئيسية, عليك اتباع التقسيم التالي خطوة خطوة حتى تنجز البرنامج.
- أكتب برنامج يطلب من المستخدم إعطائه عدد يمثل عدد عناصر مصفوفة إسمها
vector
و يخزنه في متغير إسمهN
.
تذكر: يجب أن يدخل المستخدم عدد أكبر من صفر, لأن عدد عناصر المصفوفة لا يمكن أن يكون صفر أو أقل من صفر. - ثم يطلب من المستخدم إدخال قيمة لكل عنصر من عناصر المصفوفة
vector
. - ثم يعرض للمستخدم ناتج جمع جميع قيم عناصر المصفوفة
vector
.
النتيجة المطلوبة
لنفترض أن المستخدم أدخل 6 قيم كما في الصورة التالية.
الخوارزمية
كود الجافا
import java.util.Scanner; public class Vector { public static void main (String[] args) { Scanner input = new Scanner(System.in); int N; int S = 0; int[] vector; do { System.out.print("Enter the length of the vector: "); N = input.nextInt(); } while ( N<= 0 ); vector = new int[N]; for (int i=0; i<=N-1; i++) { System.out.print("Enter vector[" +i+ "]: " ); vector[i] = input.nextInt(); S = S + vector[i]; } System.out.print("The sum of all elements is: " +S+ "\n" ); } }
شرح الكود
int N; int S = 0; int[] vector;
- هنا قمنا بتجهيز المتغير
N
لتخزين عدد عناصر المصفوفة, و هو أول شيء سيطلب من المستخدم إدخاله. - و المتغير
S
لتخزين مجموع قيم عناصر المصفوفة. - و المصفوفة
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
التي أدخلها المستخدم.
for (int i=0; i<=N-1; i++) { System.out.print("Enter vector[" +i+ "]: " ); vector[i] = input.nextInt(); S = S + vector[i]; }
- هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة إلى آخر عنصر موجود فيها.
- في كل دورة من دورات الحلقة
i
سيحدث التالي: - سيطلب من المستخدم إدخال قيمة لعنصر محدد من عناصر المصفوفة.
- بعدها سيتم تخزين العدد الذي سيدخله في هذا العنصر.
- بعدها سيتم إضافة قيمة العنصر على قيمة المتغير
S
.
System.out.print("The sum of all elements is: " +S+ "\n" );
- في الأخير سيتم عرض ناتج جمع جميع عناصر المصفوفة
vector
المخزن في المتغيرS
.