taaz30
المساهمات : 114 تاريخ التسجيل : 28/11/2008
| موضوع: [شرح] first part of pointer and arrays lessone السبت ديسمبر 27, 2008 2:22 pm | |
| ده حيكون تمهيد لدرس ال pointers الي حشرحه مع العلم اني حتطرق يه لكل شيئ من اول النمله للصاروخ المصفوفات الرقميه:1
درسنا اليوم عن ال مصفوفات وفايدتها وكيف التعامل معها وده حيكون الجزء الاول عشان بعد كده حندخلها ونوسعها مع المؤشرات المهم تعريف المصفوفه ايه ؟ خلينا نجيب مثال كويس كده انت اليوم وراك جدول تصحيح كير بصفتك مدرس وحاطته وبعد ماخلصت عايز تجيب اسم الولد mohamed وتجيب درجته بس للاسف الجداول عندك كتير جدا وممكن تتوه وانت بدور عليه وساعتها لاحتروح شغلك طيب حل الموضوع دوت ايه ؟ انك تعمل قائمه تحت شعار واحد __________________ |لا الوحده | ------------------------ وتحط تحت القائمه ديت ارقام
اقتباس: __________________ |لا للوحده | ------------------------ |0:>>>>10 |1>>>>:ا20 |2>>>>:10 كويس كل واحده من العناصر الي جوه القائمة ديت بيحتوي علي بيانات من نفس نوع القائمه لا للوحده وكل واحد فيهم بيشكل مكان للبيانات وكل واحد فيهم بيحتوي علي بيانات وكلهم تحت اسم واحد حلو دلوقتي تعالي نشغلها علي البرمجه من غير ماتعرف المصفوفات الطبيعي ايه؟ - اقتباس :
- char mohamd=10
int storm=10 وهكذا يعني حتضر تعمل مليون متغير رقمي عشان تحفظ حاجه واحده طيب مهو بدل البهدله ديت تقدر تعمل كده - اقتباس :
- int degrees[100
يعني القائمه ستورم تحتوي10درجات كل اسم اظنك فهمت تعريف المصفوفه واستدخدمها كويس كده؟ المهم يعني انت دلوقتي عايز تستفيد من الموضوع ده طيب ايه الحل ؟ ممكن تفكر وتعمل كده - اقتباس :
- #include<stdio.h>
int count; int storm[100] main() { for(count=0;count<100;count++) { printf("Enter th %d\'s degree",count); scanf("%d",&storm[count]); { /* printing the elements*/ for(count=0;count<100;count++) { printf("the persot %d\'s degree is",count+1,storm[count]); { { تعالي نفهم بقي الي احنا عملناه واحده واحده - اقتباس :
- printf("Enter th %d\'s degree",count);
هنا حتلاحظ مصيبه صغيره انه بيطلب منك ادخال الدرجه للشخص 0 وده مش موجود في الدنيا اللهم تجاوزا بعض الخلق الاغبياء الي مايستحقوش فاي حتي نرجع لموضوعنا حلها ايه ؟ - اقتباس :
- printf("Enter th %d\'s degree",count+1);
عدل سابقا من قبل taaz30 في الأحد ديسمبر 28, 2008 3:05 am عدل 1 مرات | |
|
taaz30
المساهمات : 114 تاريخ التسجيل : 28/11/2008
| موضوع: رد: [شرح] first part of pointer and arrays lessone السبت ديسمبر 27, 2008 2:43 pm | |
| اظن مفهوم ملحوظه اخري عناصر المصفوفات كلها تبتدي ب 0 وتنتهي ب الرقم-1 يعني لو عندك مصفوفه فيها 10 عناصر يبقي المصفوفه بتاعتنا اذاي؟ - اقتباس :
- storm[0],storm[1].........storm[9]
مفهوم اظن المهم تعالي نشرح ديت ونشرح معاها حاجه كمان - اقتباس :
- scanf("%d",&storm[count]);
انت هنا كانك بتعمل ادخال ل 10 متغيرات جميل وليكن م0 م1 م3 .....م9 حلو يعني نفس طريقة ادخال المتغيرات العاديه خالص - اقتباس :
- printf("the persot %d\'s degree is",count+1,storm[count]);
ديت لطباعة قيم المصفوفه من 0 الي9 يعني عشر عناصر ملحوظه مهمه جدا: يمكنك استخدام محدد العناصر للمصفوفه وهو مابين [] ك:expresion يعني 3+5 مثلا ك: array يعني مثلا - اقتباس :
- array[storm[2]
معنهاا ديت انك اخدت القيمه المسنده للعنصر 2 في المصفوفه storm وليكن 10 يبقي كانك كتبت - اقتباس :
- array[10]
وممكن تستعمل ثوابت بس لاحظ حاجه مهمه متقدرش تستعمل ال symolic constans لكن تقدر تستعمل ال lerial constants وحشرح معناهم الاتنين بس مش دلوقتي في الجزء التاني يكفيك انك تعرف ان - اقتباس :
- #define s 100 ديت letrial
const int a=5; ديت symbolic يعني تقدر تعمل - اقتباس :
- #define a 5
int array [a]; ومتقدرش - اقتباس :
- const int a=5;
int array [a]; وممكن تسند قيم المصفوفه وانت بتنشئها كده - اقتباس :
- int storm [4]={1,2,3};
مع العلم تسيب مكان لل - اقتباس :
- 0
ولو انك متعرفش انك عايز كام عنصر ممكن - اقتباس :
- int storm[]={1,2,3,4,5}
اظن انك فهمت المصفوفات الرقميه ذات البعد الواحد في مصفوفات باكثر من بعد - اقتباس :
- int storm[5][5]
الرقعه اتسعت عليك ورئيسك في المدرسه عايز تعمل للطلاب في فصلك كل الدرجات تولع انت وهو يرتاح متفرقش التلميذ رقم :0:الماده رقم{0 {1 {2
التلميذ رقم :1:الماده رقم{0 {1 {2
التلميذ رقم الماده رقم{0 {1 {2 اظنك فهمت انا اقصد بكده ايه وليكن - اقتباس :
- array[3][3]={{1,2,3},{4,5,6},{1,2,3}};
يعني التلميذ رقم - اقتباس :
- array[0][0]=1
array[0][1]=2 array[0][2=3] اظنط فاهم برده ولاحظ اننا ماشيين علي رقم التلميذ:رقم الماده وهكذا علي نفس المنوال مع باقي المصفوفه - اقتباس :
- #include<stdio.h>
int array[3][3]; int c,f; int degrees; main() { for(c=0;c<3;c++) { for(b=0;b<3;b++) { printf("perso %d\' subject %d dgrees is",c,f); scanf("%d",°rees); array[c][b]=degrees; }
}
for(c=0;c<3;c++) { for(b=0;b<3;b++) { printf("\narray[%d][%d]=",c,f); printf("%d",array[c][b]); } } } | |
|
taaz30
المساهمات : 114 تاريخ التسجيل : 28/11/2008
| موضوع: رد: [شرح] first part of pointer and arrays lessone الأحد ديسمبر 28, 2008 3:16 am | |
| الكود كله اخطاء املائيه نظرا لني مش بشوف المصفوفه ذات البعدين صوره توضيحيه في المرفقات هذه المصفوفه ثانئية البعد - اقتباس :
int storm [3][3]; العوده:ههههههههههههههههههههههههه المهم نشرح الصوره وبعدين المصفوفه انا سبق وقولت ان الصوره ديت بتمثل مصفوفه - اقتباس :
int storm [3][3]; فاكر مثال رقم التلميذ:رقم الماده والصوره بتشرح ان كل عنصر في المصفوفه يحتوي علي عدد 3 عناصر - اقتباس :
#include<stdio.h> int array[3][3]; int c,f; int degrees; طبعا كلنا عارف ايه هو الكلام ده استدعاء الدوال المكتبيه وتعريف المصفوفه وانا كنت قايل انها عادي كاي متغير وتعريف c f متغيرين رقميين ركز كويس جدا معايا ماشي - اقتباس :
for(c=0;c<3;c++) { for(b=0;b<3;b++) تعالي نسترجع for بتعمل ايه واحد تسند القيمه وانا قولت ده مش شرط اساسي راجع موضوع for وبعدين تتحقق من الشرط وتنفذالقيمه الاخيره الي غالبا بتكون ازاده او نقصان وبعدين تحققال statments في الحاله ديت ال statments ايه؟ دوارة for تانيه حتعمل نفس الموضوع وتنفذ statments الخاصه بيها اصبح كالاتي for1:for2 راعي ان القيمه 0 هي اول قيمه ل for1 و for2 وبعدين الازاده مستمره - اقتباس :
for1=0>>>for2={0,1,2} وراعي ان انا اقصد ب for2={0,1,2} القيمه المتزايده وبعدين color=red]for1=1>>>for2={0,1,2}[/color] ثم color=red]for1=2>>>for2={0,1,2}[/color] تعالي بقي نطبق علي المصفوفه - اقتباس :
storm[0][0] storm[0][1] storm[0][2] storm[1][0] وهكذا اظنك فاهم طيب بما ان for1 معاملها هو c و for2 معاملها هو b يبقي - اقتباس :
for(c=0;c<3;c++) { for(b=0;b<3;b++) { printf("perso %d\' subject %d dgrees is",c,f); scanf("%d",°rees); array[c][b]=degrees; }
} انت بتدخل degrees تثلات مرات وتساويها ب c=0 في اول تلات مرات و b = 0 1 2 وتساويها ب c=1 في ثاني تلات مرات و b = 0 1 2 وهكذا واظن انك فهمت يعني
[ - اقتباس :
deegres1=storm[0][0 storm[0][1]=degrees2 storm[0][2]=degrees3 storm[1][0]=degress4 وهكذا شوف الصوره ديت التلميذرقم0{الماده رقم 0=الدرجه الاولي
التلميذرقم0{الماده رقم 1=الدرجه الثاينه
التلميذرقم0{الماده رقم 2=الدرجه الثالثه
تعالي نطبع عناصرها بقي - اقتباس :
for(c=0;c<3;c++) { for(b=0;b<3;b++) { printf("\narray[%d][%d]=",c,f); printf("%d",array[c][b]); } } } الدوراتين هم هم وبتتسمي nested loops - اقتباس :
printf("\narray[%d][%d]=",c,f); ديت عشان نطبع
array[معامل تزاييد C ] [معامل تزايد b]
ثم - اقتباس :
printf("%d",array[c][b]); طباعة القيم المسنده الي عناصر المصفوفه كلها - اقتباس :
storm[0][1]=degrees2 storm[0][2]=degrees3 storm[1][0]=degress4 لايمكنك امرار array ك argumetn ل functions يعني مش في كده ابدا - اقتباس :
do_what_ver_this_do(array[10]); ده مستحيل لان ال arrays عباره عن مصفوفة عناوين الي العناصر ولايمكنك عمل acces علي جميع عناصرها نتطرق الي هذا الجزء مع المؤشرات
| |
|