ماهي المصفوفات ؟

abir • منذ 5 سنوات

ارجو منكم المساعده لا افهم الصفوفات ؟؟

كلمات دليلية: المصفوفات

الإجابة الصحيحة

Mohammad Laif • منذ 5 سنوات

انا كذلك دائماً كانت المصفوفات شئ غريب بالنسبه لي, لكن بعد تخيلها على انها جداول اصبحت سهله. هذه مذكره من ملاحظاتي اثناء دراستها بلغة البايثون حولت الكود الى جافا مع بعض التعديلات, اتمنى ان تسهل مفهوم المصفوفات لك.

 

المصفوفة عبارة عن جدول يتكون من اعمده وصفوف, تحتوي كل خانه على عدد من الارقام او من المعلومات.

6 8 8
1 2 4
5 3 2

كل خانه في الجدول نستطيع الوصول لها من خلال تخيل رقم للصف ورقم للعمود (في البرمجة يعتبر الـ Index). ايضاً نستطيع اجراء بعض العمليات على هذه المصفوفات كالضرب والقسمة وقلب المصفوفه وما الى ذلك. ولكن يجب المراعاه فمثلاً ضرب المصفوفه في العدد ٥ تختلف طريقته عن ضرب المصفوفه في مصفوفه اخرى, ماذا لو كانت المصفوفه الاخرى لاتساوي المصفوفه الاولى في عدد الاعمده او الصفوف؟ كل هذه الاسئله نتركها للرياضات, مايهم هو البرمجة كالتالي.

 

مثال لعنصر من نوع Int يحتوي على عدد واحد:

int age = 22;

 

المصفوفات

ماذا لو اردنا إنشاء عنصر يحتوي على العديد من الارقام؟ هنا نقوم بإستخدام المصفوفات.

 

مثال لعنصر Array (مصفوفه) ببعد واحد, من نوع Int:

int a[]={3,3,4};

تعتبر هذه المصفوفه ذي بعد واحد. تخيلها على انها خط مستقيم هكذا:

4 3 3

تحديد اخر عدد (الخانه الثالثه بها):

System.out.print(a[2]);

النتيجه 4.

 

مثال اخر لعنصر Array (مصفوفه) ببعدين, من نوع Int (اكثر استخدام هي هذه المصفوفه):

int b[][] = {{1,2,3},{2,4,5},{4,4,5}};  

تعتبر هذه المصفوفه ذي بعدين. نستطيع تخيلها على انها جدول:

3 2 1
5 4 2
5 4 4

تحديد اخر عدد (الصف الثالث بها, ثم الخانه الثالثه بها):

System.out.print(b[2][2]);

النتيجه 5.

 

مثال اخر لعنصر Array (مصفوفه) بثلاثة ابعاد او "متعددة الابعاد", من نوع Int:

int c[][][] = {{{1, 4, 3}, {2, 8, 3}}, {{1, 2, 6, 5}}, {{1, 4}, {2, 7}}};

تعتبر هذه المصفوفه ذي ثلاثة ابعاد او تسمى متعددة الابعاد, نستطيع تخيلها على انها مصفوفه تحتوي على مصفوفات وهذه المصفوفات تحتوي على ارقام كالشكل التالي:

 

3 4 1
3 8 2

 

 

5 6 2 1

 

 

4 1
7 2

 

  • تستطيعي تخيل هذه المصفوفه على انها طوابق لمبنى, ومن الافضل تخيلها على انها ثلاث ورقات على بعضهم البعض وتحتوي كل ورقه على جدول.
  • نادر استخدام هذا النوع, ومن الافضل الاكتفاء بالمصفوفه ذي البعدين فقط.

تحديد اخر عدد (المصفوفه الثالثه, ثم الصف الثاني بها, ثم الخانه الثانيه بها):

System.out.print(c[2][1][1]);

النتيجه 7.

 

انا قمت باختصار الكثير, يجب عليك البحث ومعرفة النقاط التاليه:

  • طريقة عمل Declaration للمصفوفه.
  • طريقة عمل Initialization للمصفوفه.
  • طريقة وضع البيانات بداخل المصفوفه.
  • طريقة استخراج البيانات (كإستخدام for loop).
  • اجراء العمليات كالضرب وما الى ذلك على المصفوفه.
  • تحديث احد عناصر المصفوفه.

 

الإجابات (1)

Mohammad Laif • منذ 5 سنوات
الإجابة الصحيحة

انا كذلك دائماً كانت المصفوفات شئ غريب بالنسبه لي, لكن بعد تخيلها على انها جداول اصبحت سهله. هذه مذكره من ملاحظاتي اثناء دراستها بلغة البايثون حولت الكود الى جافا مع بعض التعديلات, اتمنى ان تسهل مفهوم المصفوفات لك.

 

المصفوفة عبارة عن جدول يتكون من اعمده وصفوف, تحتوي كل خانه على عدد من الارقام او من المعلومات.

6 8 8
1 2 4
5 3 2

كل خانه في الجدول نستطيع الوصول لها من خلال تخيل رقم للصف ورقم للعمود (في البرمجة يعتبر الـ Index). ايضاً نستطيع اجراء بعض العمليات على هذه المصفوفات كالضرب والقسمة وقلب المصفوفه وما الى ذلك. ولكن يجب المراعاه فمثلاً ضرب المصفوفه في العدد ٥ تختلف طريقته عن ضرب المصفوفه في مصفوفه اخرى, ماذا لو كانت المصفوفه الاخرى لاتساوي المصفوفه الاولى في عدد الاعمده او الصفوف؟ كل هذه الاسئله نتركها للرياضات, مايهم هو البرمجة كالتالي.

 

مثال لعنصر من نوع Int يحتوي على عدد واحد:

int age = 22;

 

المصفوفات

ماذا لو اردنا إنشاء عنصر يحتوي على العديد من الارقام؟ هنا نقوم بإستخدام المصفوفات.

 

مثال لعنصر Array (مصفوفه) ببعد واحد, من نوع Int:

int a[]={3,3,4};

تعتبر هذه المصفوفه ذي بعد واحد. تخيلها على انها خط مستقيم هكذا:

4 3 3

تحديد اخر عدد (الخانه الثالثه بها):

System.out.print(a[2]);

النتيجه 4.

 

مثال اخر لعنصر Array (مصفوفه) ببعدين, من نوع Int (اكثر استخدام هي هذه المصفوفه):

int b[][] = {{1,2,3},{2,4,5},{4,4,5}};  

تعتبر هذه المصفوفه ذي بعدين. نستطيع تخيلها على انها جدول:

3 2 1
5 4 2
5 4 4

تحديد اخر عدد (الصف الثالث بها, ثم الخانه الثالثه بها):

System.out.print(b[2][2]);

النتيجه 5.

 

مثال اخر لعنصر Array (مصفوفه) بثلاثة ابعاد او "متعددة الابعاد", من نوع Int:

int c[][][] = {{{1, 4, 3}, {2, 8, 3}}, {{1, 2, 6, 5}}, {{1, 4}, {2, 7}}};

تعتبر هذه المصفوفه ذي ثلاثة ابعاد او تسمى متعددة الابعاد, نستطيع تخيلها على انها مصفوفه تحتوي على مصفوفات وهذه المصفوفات تحتوي على ارقام كالشكل التالي:

 

3 4 1
3 8 2

 

 

5 6 2 1

 

 

4 1
7 2

 

  • تستطيعي تخيل هذه المصفوفه على انها طوابق لمبنى, ومن الافضل تخيلها على انها ثلاث ورقات على بعضهم البعض وتحتوي كل ورقه على جدول.
  • نادر استخدام هذا النوع, ومن الافضل الاكتفاء بالمصفوفه ذي البعدين فقط.

تحديد اخر عدد (المصفوفه الثالثه, ثم الصف الثاني بها, ثم الخانه الثانيه بها):

System.out.print(c[2][1][1]);

النتيجه 7.

 

انا قمت باختصار الكثير, يجب عليك البحث ومعرفة النقاط التاليه:

  • طريقة عمل Declaration للمصفوفه.
  • طريقة عمل Initialization للمصفوفه.
  • طريقة وضع البيانات بداخل المصفوفه.
  • طريقة استخراج البيانات (كإستخدام for loop).
  • اجراء العمليات كالضرب وما الى ذلك على المصفوفه.
  • تحديث احد عناصر المصفوفه.

 

abir: مشكوور اخي الكريم سأواصل البحث عل هذه النقاط

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !