المطلوب
هذا التمرين مقسّم إلى أربع أفكار رئيسية, عليك اتباع التقسيم التالي خطوة خطوة حتى تنجز البرنامج.
أكتب برنامج يعرّف ثلاث مصفوفات
AوBوC.ثم يطلب من المستخدم إدخال العدد الذي يمثل عدد عناصر المصفوفتين
AوB.بعدها يطلب من المستخدم إعطاء قيم للمصفوفتين
AوBو يخزنهم في المصفوفةC.في الأخير يعرض للمستخدم القيم التي أصبحت تحتويها المصفوفة
C.
إرشادات
يجب أن يتم جمع قيم عناصر المصفوفتين A و B قي المصفوفة C كالتالي.
النتيجة المطلوبة
لنفترض أن المستخدم أراد حجم المصفوفتين A و B يساوي " 4 " و أدخل نفس القيم كما في الصورة السابقة.
كود الجافا
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;
int k = 0; // C سنستخدم هذا المتغير كعداد للوصول لعناصر المصفوفة
do
{
System.out.print("Enter the length for vectors ( A ) and ( B ): ");
N = input.nextInt();
}
while ( N <= 0 );
A = new int[N];
B = new int[N];
C = new int[N*2];
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();
}
System.out.print("\n");
for (int i=0; i <=N-1; i++)
{
C[k] = A[i];
C[k+1] = B[i];
k = k+2;
}
System.out.print("\n");
for (int i=0; i <=(N*2)-1; i++)
{
System.out.print("C[" +i+ "]: " + C[i] +"\n");
}
System.out.print("\n");
}
}
شرح الكود
int N; int[] A; int[] B; int[] C; int k = 0;
هنا قمنا بتجهيز المتغير N لتخزين عدد عناصر المصفوفتين A و B, و هو أول شيء سيطلب من المستخدم إدخاله.
و المصفوفات A و B و C و لم نحدد عدد عناصرهم.
و المتغير k الذي أعطيناه القيمة 0 كقيمة أولية لأننا سنستخدمه كعداد للوصول إلى عناصر المصفوفة C.
do
{
System.out.print("Enter the length for vectors ( A ) and ( B ): ");
N = input.nextInt();
}
while ( N <= 0 );
هنا سيطلب من المستخدم إدخال عدد عناصر المصفوفتينA و B, بعدها سيتم تخزينه في المتغير N.
بعدها سيتم فحص قيمة المتغير N. إذا كانت أصغر أو تساوي 0, سيطلب من المستخدم إدخال العدد من جديد.
إذاً هذه الحلقة تضمن أن لا يقوم المستخدم بإدخال عدد أصغر أو يساوي 0.
A = new int[N]; B = new int[N]; C = new int[N*2];
هنا سيتم تحديد عدد عناصر المصفوفات الثلاثة كالتالي:
عدد عناصر المصفوفتان
AوBيساوي قيمة المتغيرN.عدد عناصر المصفوفة
cيساوي عدد عناصر المصفوفتينAوBمع بعض, أي يساوي قيمة المتغيرN*2.
ملاحظة: عدد عناصر المصفوفةCيمكن تحديدها بأكثر من طريقة, فمثلاً يمكنك أن تكتبN+NأوA.length + B.lengthبدلN*2.
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();
}
هنا أنشأنا حلقة تبدأ من index العنصر الأول في كلا المصفوفتين, أي العنصر رقم 0, إلى آخر عنصر موجود فيهما و الذي يملك الـ index الأخير, أي N-1.
في كل دورة من دورات الحلقة i سيطلب من المستخدم إدخال قيمة لعنصر في المصفوفة A, و قيمة لعنصر في المصفوفة B.
فمثلاً, عندما تكون قيمة العداد i تساوي 0 , سيطلب منه إدخال قيمة للعنصر A[0] و العنصر B[0].
for (int i=0; i <=N-1; i++)
{
C[k] = A[i];
C[k+1] = B[i];
k = k+2;
}
هنا أنشأنا حلقة تبدأ من index العنصر الأول في كل المصفوفات, أي العنصر رقم 0, إلى آخر عنصر موجود في المصفوفات و الذي يملك الـ index الأخير, أي N-1.
في كل دورة من دورات الحلقة i سيحدث التالي في المصفوفة C من خلال العداد k:
سيتم وضع قيمة عنصر المصفوفة
Aفي عنصر جديد في المصفوفةC.ثم وضع قيمة عنصر المصفوفة
Bفي العنصر التالي في المصفوفةC.ثم سيتم زيادة قيمة المتغير
kإثنين لتجاوز الخانتين السابقتين اللتين تم وضع القيم فيهما.طريقة عمل الكود:
في البداية, قيمة العداد
iتساوي 0, لذلك سيتم وضع قيمة العنصرA[0]في العنصرC[0], ثم قيمة العنصرB[0]في العنصرC[1].بعد أن تم إضافة 2 على قيمة المتغير
kو أصبحت قيمة العدادiتساوي 1, سيتم وضع قيمة العنصرA[1]في العنصرC[2], ثم قيمة العنصرB[1]في العنصرC[3].بعد أن تم إضافة 2 على قيمة المتغير
kو أصبحت قيمة العدادiتساوي 2, سيتم وضع قيمة العنصرA[2]في العنصرC[4], ثم قيمة العنصرB[2]في العنصرC[5].بعد أن تم إضافة 2 على قيمة المتغير
kو أصبحت قيمة العدادiتساوي 3, سيتم وضع قيمة العنصرA[3]في العنصرC[6], ثم قيمة العنصرB[3]في العنصرC[7].مهما كان حجم المصفوفات فإن الكود سيعمل بنفس الطريقة.
for (int i=0; i <=(N*2)-1; i++)
{
System.out.print("C[" +i+ "]: " + C[i] +"\n");
}
هنا أنشأنا حلقة تبدأ من index العنصر الأول في المصفوفة C إلى آخر عنصر موجود فيها بهدف عرض قيمة كل عنصر أصبح فيها.
في كل دورة من دورات الحلقة i سيطبع للمستخدم أن العنصر رقم كذا قيمته كذا.




محرر الويب
نظام الألوان
محول الوحدات
محلل عناوين الشبكات