إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

first part of pointer and arrays lessone

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • first part of pointer and arrays lessone

    ده حيكون تمهيد لدرس ال pointers الي حشرحه
    مع العلم اني حتطرق يه لكل شيئ من اول النمله للصاروخ
    المصفوفات الرقميه:1

    درسنا اليوم عن ال مصفوفات وفايدتها وكيف التعامل معها وده حيكون الجزء الاول عشان بعد كده حندخلها ونوسعها مع المؤشرات
    المهم تعريف المصفوفه ايه ؟
    خلينا نجيب مثال كويس كده انت اليوم وراك جدول تصحيح كير بصفتك مدرس وحاطته وبعد ماخلصت عايز تجيب اسم الولد mohamed وتجيب درجته
    بس للاسف الجداول عندك كتير جدا وممكن تتوه وانت بدور عليه وساعتها لاحتروح شغلك
    طيب حل الموضوع دوت ايه ؟
    انك تعمل قائمه تحت شعار واحد
    __________________
    |لا الوحده |
    ------------------------
    وتحط تحت القائمه ديت ارقام


    اقتباس:
    __________________
    |لا للوحده |
    ------------------------
    |0:>>>>10
    |1>>>>:ا20
    |2>>>>:10
    كويس كل واحده من العناصر الي جوه القائمة ديت بيحتوي علي بيانات من نفس نوع القائمه لا للوحده
    وكل واحد فيهم بيشكل مكان للبيانات
    وكل واحد فيهم بيحتوي علي بيانات
    وكلهم تحت اسم واحد
    حلو دلوقتي تعالي نشغلها علي البرمجه
    من غير ماتعرف المصفوفات الطبيعي ايه؟
    كود PHP:
    char mohamd=10
    int storm
    =10 
    وهكذا يعني حتضر تعمل مليون متغير رقمي عشان تحفظ حاجه واحده
    طيب مهو بدل البهدله ديت تقدر تعمل كده
    كود PHP:
    int degrees[100 
    يعني القائمه ستورم تحتوي10درجات كل اسم اظنك فهمت تعريف المصفوفه واستدخدمها كويس كده؟
    المهم يعني انت دلوقتي عايز تستفيد من الموضوع ده طيب ايه الحل ؟
    ممكن تفكر وتعمل كده
    كود PHP:
    #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]);
    {

    تعالي نفهم بقي الي احنا عملناه واحده واحده

    كود PHP:
    printf("Enter th %d\'s degree",count); 
    هنا حتلاحظ مصيبه صغيره انه بيطلب منك ادخال الدرجه للشخص 0 وده مش موجود في الدنيا اللهم تجاوزا بعض الخلق الاغبياء الي مايستحقوش فاي حتي
    نرجع لموضوعنا
    حلها ايه ؟
    كود PHP:
    printf("Enter th %d\'s degree",count+1); 
    اظن مفهوم
    ملحوظه اخري
    عناصر المصفوفات كلها تبتدي ب 0 وتنتهي ب الرقم-1
    يعني لو عندك مصفوفه فيها 10 عناصر يبقي المصفوفه بتاعتنا اذاي؟
    كود PHP:
    كود PHP:
    storm[0],storm[1].........storm[9
    مفهوم اظن
    المهم
    تعالي نشرح ديت ونشرح معاها حاجه كمان
    كود PHP:
    scanf("%d",&storm[count]); 
    انت هنا كانك بتعمل ادخال ل 10 متغيرات جميل وليكن م0 م1 م3 .....م9
    حلو يعني نفس طريقة ادخال المتغيرات العاديه خالص

    كود PHP:
    printf("the persot %d\'s degree is",count+1,storm[count]); 
    ديت لطباعة قيم المصفوفه من 0 الي9 يعني عشر عناصر
    ملحوظه مهمه جدا:
    يمكنك استخدام محدد العناصر للمصفوفه وهو مابين []
    ك:expresion يعني 3+5 مثلا
    ك: array يعني مثلا
    كود PHP:
    array[storm[2
    معنهاا ديت انك اخدت القيمه المسنده للعنصر 2 في المصفوفه storm وليكن
    10 يبقي كانك كتبت

    كود PHP:
    array[10
    وممكن تستعمل ثوابت بس لاحظ حاجه مهمه متقدرش تستعمل ال symolic constans لكن تقدر تستعمل ال lerial constants وحشرح معناهم الاتنين بس مش دلوقتي في الجزء التاني
    يكفيك انك تعرف ان
    كود PHP:
    #define s 100 ديت letrial
    const int a=5ديت symbolic 
    يعني تقدر تعمل
    كود PHP:
    #define a 5
    int array [a]; 
    ومتقدرش
    كود PHP:
    const int a=5;
    int array [a]; 
    وممكن تسند قيم المصفوفه وانت بتنشئها كده
    كود PHP:
    int storm [4]={1,2,3}; 
    مع العلم تسيب مكان لل
    كود PHP:

    ولو انك متعرفش انك عايز كام عنصر ممكن
    كود PHP:
    كود PHP:
    int storm[]={1,2,3,4,5
    اظن انك فهمت المصفوفات الرقميه ذات البعد الواحد
    في مصفوفات باكثر من بعد
    كود PHP:
    int storm[5][5
    الرقعه اتسعت عليك ورئيسك في المدرسه عايز تعمل للطلاب في فصلك كل الدرجات تولع انت وهو يرتاح
    متفرقش
    التلميذ رقم :0:الماده رقم{0
    {1
    {2

    التلميذ رقم :1:الماده رقم{0
    {1
    {2

    التلميذ رقم الماده رقم{0
    {1
    {2
    اظنك فهمت انا اقصد بكده ايه
    وليكن
    كود PHP:
    array[3][3]={{1,2,3},{4,5,6},{1,2,3}}; 
    يعني التلميذ رقم
    كود PHP:
    array[0][0]=1
    array[0][1]=2
    array[0][2=3
    اظنط فاهم برده ولاحظ اننا ماشيين علي رقم التلميذ:رقم الماده
    وهكذا علي نفس المنوال مع باقي المصفوفه
    كود PHP:
    #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",&degrees); 
    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]);
    }
    }

    الكود كله اخطاء املائيه نظرا لني مش بشوف
    المصفوفه ذات البعدين
    صوره توضيحيه
    في المرفقات
    هذه المصفوفه ثانئية البعد
    كود PHP:
    int storm[3][3]; 
    العوده:ههههههههههههههههههههههههه
    المهم نشرح الصوره وبعدين المصفوفه
    انا سبق وقولت ان الصوره ديت بتمثل مصفوفه
    كود PHP:
    int storm [3][3]; 
    فاكر مثال
    رقم التلميذ:رقم الماده
    والصوره بتشرح ان كل عنصر في المصفوفه يحتوي علي عدد 3 عناصر
    كود PHP:
    #include<stdio.h>
    int array[3][3];
    int c,f;
    int degrees
    طبعا كلنا عارف ايه هو الكلام ده استدعاء الدوال المكتبيه وتعريف المصفوفه وانا كنت قايل انها عادي كاي متغير وتعريف c f متغيرين رقميين
    ركز كويس جدا معايا ماشي
    كود PHP:
    for(c=0;c<3;c++)
    {
    for(
    b=0;b<3;b++) 
    تعالي نسترجع for بتعمل ايه
    واحد تسند القيمه وانا قولت ده مش شرط اساسي راجع موضوع for
    وبعدين تتحقق من الشرط
    وتنفذالقيمه الاخيره الي غالبا بتكون ازاده او نقصان
    وبعدين تحققال statments
    في الحاله ديت ال statments ايه؟
    دوارة for تانيه
    حتعمل نفس الموضوع وتنفذ statments الخاصه بيها
    اصبح كالاتي for1:for2
    راعي ان القيمه 0 هي اول قيمه ل for1 و for2 وبعدين الازاده مستمره
    ي
    كود PHP:
    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]
    تعالي بقي نطبق علي المصفوفه
    كود PHP:
    storm[0][0]
    storm[0][1]
    storm[0][2]
    storm[1][0
    وهكذا اظنك فاهم
    طيب بما ان for1 معاملها هو c
    و for2 معاملها هو b
    يبقي
    كود PHP:
    for(c=0;c<3;c++)
    {
    for(
    b=0;b<3;b++)
    {
    printf("perso %d\' subject %d dgrees is",c,f);
    scanf("%d",&degrees);
    array[
    c][b]=degrees;
    }


    انت بتدخل degrees تثلات مرات
    وتساويها ب c=0 في اول تلات مرات و b = 0 1 2
    وتساويها ب c=1 في ثاني تلات مرات و b = 0 1 2
    وهكذا واظن انك فهمت
    يعني

    [
    كود PHP:
    deegres1=storm[0][0
    storm
    [0][1]=degrees2
    storm
    [0][2]=degrees3
    storm
    [1][0]=degress4 
    وهكذا
    شوف الصوره ديت
    التلميذرقم0{الماده رقم 0=الدرجه الاولي

    التلميذرقم0{الماده رقم 1=الدرجه الثاينه

    التلميذرقم0{الماده رقم 2=الدرجه الثالثه


    تعالي نطبع عناصرها بقي
    كود PHP:

    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 
    كود PHP:
    printf("\narray[%d][%d]=",c,f); 
    ديت عشان نطبع

    array[معامل تزاييد C ] [معامل تزايد b]

    ثم
    كود PHP:
    printf("%d",array[c][b]); 
    طباعة القيم المسنده الي عناصر المصفوفه كلها
    كود PHP:
    storm[0][1]=degrees2
    storm
    [0][2]=degrees3
    storm
    [1][0]=degress4 
    لايمكنك امرار array ك argumetn ل functions
    يعني مش في كده ابدا
    كود PHP:
    do_what_ver_this_do(array[10]); 
    ده مستحيل لان ال arrays عباره عن مصفوفة عناوين الي العناصر ولايمكنك عمل acces علي جميع عناصرها
    نتطرق الي هذا الجزء مع المؤشرات
    BOOOF , I AM GONE
    Still , you gotta wait for my PRESENT :D
    C programming arabic Tutorial|Programming-fr34ks

  • #2
    جميل جدا ياستورم ... تسلم ياباشا
    Programming-Fr34ks[dot]NET
    Ma Weblog
    ابدأ بتعلم Python | Ruby
    كتاب البايثون متوافر الآن
    لا اتواجد بهذا المنتدى ... للإتصال

    تعليق


    • #3
      بارك الله فيك اخي ............. ^_~
      GCS

      تعليق


      • #4
        والله ياجدعان مجرد مروركم يعتبر اكبر هديه ليا :>
        يارب تسلموا
        BOOOF , I AM GONE
        Still , you gotta wait for my PRESENT :D
        C programming arabic Tutorial|Programming-fr34ks

        تعليق

        يعمل...
        X