![]() |
|
الدرس الحادي عشر ( 11 ) - - المصفوفات (نظرة مفصلة) الجزء الأول (1) - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : الأقسام التعليمية - المنتدى القديم (http://vb4arb.com/vb/forumdisplay.php?fid=90) +--- قسم : قسم دورات المنتدى (http://vb4arb.com/vb/forumdisplay.php?fid=113) +---- قسم : دورة C++ (http://vb4arb.com/vb/forumdisplay.php?fid=135) +---- الموضوع : الدرس الحادي عشر ( 11 ) - - المصفوفات (نظرة مفصلة) الجزء الأول (1) (/showthread.php?tid=6508) |
الدرس الحادي عشر ( 11 ) - - المصفوفات (نظرة مفصلة) الجزء الأول (1) - RaggiTech - 19-10-12 كاتب الموضوع : lo2i
السلام عليكم ورحمة الله وبركاته
(( وماأوتيتم من العلم إلا قليلاً ))
----------------------------------------------------------------------------------------------------------------------------
الدرس الحادي عشر ج(1) في دورة السي بلس بلس
-------------------------------------------------------------------------------------------------------------------------------
سنتعلم في هذا الدرس ان شاء الله :-
أولاً : التعرف على فائدة المصفوفات .
مثال : لنفرض انك تريد إدخال درجات طلاب في مادة الحاسب الآلي للجهاز لمعالجتها وإخراج أكبر رقم وكذلك إخراج أصغر رقم وإخراج متوسط الدرجات للطلاب .. هنا تكمن فائدة المصفوفة
فستكون صعبة جدأً عليك ان تدخل قيمة درجة كل طالب على حدا
مثل
كود : [color=#000000][COLOR=#0000bb]int student_1 [/color][color=#007700]= [/color][color=#0000bb]80[/color][COLOR=#007700];فاختصاراً لهذه العملية الطويلة والقابلة للاخطاء الكثيرة من قبل المستخدم اثناء كتابة الكود ,, فلهذا ظهر مبدأ المصفوفات
فاختصاراً للكود الطويل الذي كتبناه هو الكود التالي
كود : [color=#000000][COLOR=#0000bb] int students[/color][color=#007700][[/color][color=#0000bb]30[/color][COLOR=#007700]]; في الكود السابق قمنا بتعريف مصفوفة مكونة من 30 متغير باسم students وهو من نوع رقم صحيح int وهو اختصاراً للكود الطويل اعلاه .
--------------------------
ثانياً : التعرف على أنواع المصفوفات .
على حد علمي يوجد نوعان من المصفوفات
[SIZE=4] [/SIZE]
[SIZE=4]بداية المصفوفات الاستاتيكية ..
هي مصفوفات تحدد طول المصفوفة على بعد واحد في الذاكرة
كما يظهر في الصورة السابقة هذه تمثل مصفوفة استاتيكية تم تعريفها وهذه هي صورتها في الذاكرة بعد تعريفها في البرنامج.
الكود التالي هو المسؤول عن الشكل الذي في الاعلى
كود : [color=#000000][COLOR=#0000bb] int billy [/color][color=#007700][[/color][color=#0000bb]5[/color][COLOR=#007700]]; نأتي الان لنضع قيمة في كل غرقة من غرف المصفوفة
يوجد أكثر من طريقة لادخال قيمة لكل غرفة في المصفوفة ..
كود : [color=#000000][COLOR=#0000bb]billy[/color][color=#007700][[/color][color=#0000bb]0[/color][color=#007700]]=[/color][color=#0000bb]16[/color][COLOR=#007700];وفي كلتا الحالتيين هذه هي صورة المصفوفة في الذاكرة . كود : [color=#000000][COLOR=#0000bb] int jimmy [/color][color=#007700][[/color][color=#0000bb]3[/color][color=#007700]][[/color][color=#0000bb]5[/color][COLOR=#007700]]; وسوف تمثل المصفوفة التالية في الذاكرة بالشكل التالي .. ولنرجع قليلاً إلى الكود الذي قمنا بكتابته وهو
كود : [color=#000000][COLOR=#0000bb] int jimmy [/color][color=#007700][[/color][color=#0000bb]3[/color][color=#007700]][[/color][color=#0000bb]5[/color][COLOR=#007700]]; عندما تريد معرفة كم غرفة سوف تُبنى في الذاكرة 3 × 5 = 15 غرفة
-----------*----------
السؤال هنا كيف نصل إلى غرفة محددة في المصفوفات الديناميكية
فمثلاً اذا اردنا أن نضع قيمة 10 في الغرفة [2][2]
بكل سهولة
كود : [color=#000000][COLOR=#0000bb] jimmy[/color][color=#007700][[/color][color=#0000bb]2[/color][color=#007700]][[/color][color=#0000bb]2[/color][color=#007700]]=[/color][color=#0000bb]10[/color][COLOR=#007700]; مثال آخر اذا اردنا أن نصل للغرفة كود : [color=#000000][COLOR=#0000bb] jimmy[/color][color=#007700][[/color][color=#0000bb]1[/color][color=#007700]][[/color][color=#0000bb]3[/color][COLOR=#007700]] وهذه الصورة توضح إلى الطريقة =========== يتبع |