موضوعنا راح يتحدث عن الـarray ( المصفوفات ) .
طيب راح ابسط معنا المصفوفه ؟ بدون ما أتحدث عن وظائفها
لازم قبل نفهم أي دالة و أي سطر و أي برمجه مانسأل عن وظيفة هذ االشئ المعين كل شي له وظيفته
حسب حاجة المبرمج له و طرق البرمجه تختلف من شخص .المصفوفة عبارة عن : سلسلة من العناصر متشابه في ( نوع البيانات Data type ) و لكل جزء من السلسلة رقم مميز يعبر عنه المصطلح ( index ) تخزن في الميموري .
طيب خطوة بخطوة ؟ كيف يتم عمل declare لمصفوفة معينه .
الشكل العام للـdeclare راح يكون على هذا النمط
الرمز PHP:
DataType Array[size];
مثال :
الرمز PHP:
int array[6]
نفهم من هذا الـ declare بإنه هنالك مصفوفه بإسم array من نوع int تحتوي على 6 عناصر (elements)
الشكل التالي يوضح الفكره للمصفوفه بالنسبة للكمبيوتر وياليت يتم فهم الشكل ( عاموديا ً )
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]-
سؤال :
طيب الـمصفوفة التاليـة كيف نسند لإي عنصر فيها قيمة ؟ و ماهو الـindex
الرمز PHP:
1- int array[5];
2- cout<<"enter value";
3-cin>>array[0];
4-cin>>array[3]
نلاحظ في الكود السابق .
السطر الأول عملنا declare لمصفوفة .
السطر الثاني . طلبنا من المستخدم يدخل قيمة .
السطر الثالث . قمنا بإدخال قيمة للمتغيـر في الـindex رقم ( 0 ) اللي هو الأول . ( راجعو الصورة )
السطر الرابع . قمنا بإدخال قيمة للمتغيـر في الـindex رقم 3 اللي هو الرابع ( راجعو الصورة )
-طريقة إدخال قيم لعناصر المصفوفه ؟ هل هي مفهومه من المثال السابق ؟
- سؤال :
بما أننا ادخلنا قيم للمصفوفة array في العنصر الأول ( 0 ) و العنصر الرابع ( 3 )
ايش راح تكون قيمة باقي العناصر اللي مادخلنا لها قيمـة .
- الجواب :
راح تكون إفتراضيـة صفر .
طيب مثال آخر و توضيح لنقطة مهمه جدا ً
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]المصفوفة التاليـة راح نعمل لها declare ونعطيها قيم بالشكل التالي
الرمز PHP:
int array[5]={5,3,6,2,1};
اعتقد هنا واضح المثال اعطينا القيم لعناصر المصفوفه بدون تدخل المستخدم .
-سؤال : لو طلبت منك طباعة العنصر الرابع في المصفوفه ؟
-الجواب :
الرمز PHP:
cout << array[3];
ركزو معاي كتبت الـindex رقم ( 3 ) اللي هو يعتبر العنصر الرابع
والشكل التالي يوضح عناصر المصفوفة بالنسبة لنا و بالنسبة للـarray
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]يعني لو طلبنا منك طباعة العنصر الاول تضع الـindex للمصفوفة ( 0 ) و قس على ذلك باقي الإمثلـه .
نرجع للشكل التالي و نوضح الـ(Initializing arrays)
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]- مقدمة :
لو نبغى نسوي طباعة لعناصر المصفوفة التاليــة ؟ بدون إختيار عنصر معين ( طباعة للكل ) باستخدام اللوب
الشكل العام لطباعة اي عنصر مثل ماذكرت سابقا هو
الرمز PHP:
cout << array[X];
وبدل X نضع الـindex للعنصر المراد طباعته .
نلاحظ ان هالكود ثابت اساسا و المتغيـر فيـه هو الـx
طيب بناء عليـه نعمل ( loop ) و تكون تزايدية او تناقصيـة بعدد عناصر المصفوفة اي تبدا من الصفر ( لطباعة العنصر الإول ) و يكون شرط إيقاف الـloop إذا كانت تزايديه عندما تكون
قيمة X اصغر من array_size ( عدد عناصر المصفوفه )بالمثال يتضح الحال للصورة السابقه :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]المصفوفة التاليـة تحتوي على ( خمس عناصر )
بناء على هالكلام استنتج ان الـloop راح يبدا من الصفر و تكون القيمة التزايدة له اصغر من الـ5
نبداء بكتابة الكود :
الرمز PHP:
for(int coun=0 ; coun < 5 ; coun++){
cout << array[coun]<<endl;
}
راح نلاحظ اني أستخدمت الشكل العام لطباعة عنصر في المصفوفة و لكن وضعت متغيـر coun يبدا بصفر و يقف التكرار عندما تكون قيمة coun اصغر من الـ5
شكل الـrun للبرنامج :
[ندعوك للتسجيل في المنتدى أو التعريف بنفسك لمعاينة هذا الرابط]اقتباس:
step تعني خطوات سير البرنامج
الـindex اللي هو مطلوب إخراجه في السي آوت .
للتوضيح فقط
result هي النتيجة اللي راح تطبع لنا