الدرس الرابع عشر 14: المصفوفات الاحاديه في C++

المصفوفات الاحاديه 

يوجد نوعان من المصفوفات المتعارف عليهم   وهم :

 المصفوفات الاحاديه ..  والمصفوفات الثنائيه 

 تتكون المصفوفه من اعمده وصفوف   ويكون في المصفوفه الاحاديه صف واحد واعمده متعدده

 

بينما تتكون المصفوفه الثنائه من عده صفوف واعمده

 

 في هاذا الدرس سوف نشرح المصفوفه الاحاديه :

يمثل الشكل الاول شكل مصفوفه احاديه من 10 خانات  حيث تبدا من ال 0 وتنتهي ب 9وتستعمل للتسهيل عمليه تعريف المتغيرات بدلا من ان اعرف 10 متغيرات مثلا تستغرق 10 اسطر  ,  نقوم بتعريف مصفوفه من نوع المتغيرات بمساحه 10 خانات في سطر برمجي واحد.

 

 

 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

 اولا طريقه التعريف كالتالي ..

Type    nameVar [Size];

 مثال 

int arr[10];

 نوع المصفوفه int  اسم المصفوفه arr  وحجم المصفوفه 10 خانات 

ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

 

 ثانيا  طريقه الادخال (التعبئه):

للوصول للخانات الموجوده في المصفوفه نستعمل مايسمى  بال index  وهو رقم الخانه
لاحط الصوره السابقه لك ان تتخيل ان هاذه شكل المصفوفه  وللوصول الى الخانه الاولى  يكون ال index   يساوي 0 

اي انه الخانه الاولى ليست 1 بل 0   والخانه الاخيره هي حجم المصفوفه -1  

كما ذكرنا في المصفوفه السابقه 10 خانات فهي تبدا من ال 0  الى  9

ف لو اردنا الوصول الى الخانه الاولى واعطائها قيمه   مثلا 50 نكتب 

arr[0]=50;    الخانه الاولى

arr[1]=40;  الخانه الثانيه 

 arr [9]=90;  الخانه الاخيره العاشره

او مثلا المستخدم يدخل القيمه  كالتالي :

cin>>arr[0];    الخانه الاولى

cin>>arr[1];  الخانه الثانيه 

 acin>>rr [9];  الخانه الاخيره العاشره


هنا نذكر طريقتين للتعبئه  الطريقه السابقه هي احداهم ولكنها سوف تاخذ اسطر برمجيه كثيره فملا لو كانت المصفوفه من 100 خانه والمستخدم يدخل القيم !! 

الطريقه الاخرى باستخدام جمل الدوران بحيث يبدا العداد من 0 الى (حجم الخانه -1  )

فمثلا العداد  i  يبدا من ال0   نستعمل اسم المصفوفه داخل اللوب  ونضع ال i  مكان ال index 

for(int i=0;i<10;i++)

cin>>arr[i];


ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

ثالثا طريقه الطباعه او الوصول للقيمه :

كما هو الحال في الادخال كذلك الطباعه  فمثلا لو اردنا طباعه الخانه الاولى نكتب 

cout<<arr[0];   

او استخدام لووب لطباعه المصفوفه كامله كالتالي :

for(int i=0;i<10;i++)

cout<<arr[i]; 

كما يمكن الجمع بين عناصر المصفوفه والطرح والتعديل واجراء كافه العمليات المصرح بها على المتغيرات اجرائها على المصفوفه 

مثلا : arr[0]=arr[1]+arr[2];

يوجد شكل اخر للمصفوفه لكن يجب تعبئته مباشره يتميز بعدم تحديد حجمه كما يلي :

int v[]={50,60,90,5,6};

string o[]={"uyy","rrr","wwdf"};

char g[]={'p','i','r','\0'}; 

 استخدمنا \0 لتنبيه المترجم ان ينتهي من قرائه المصفوفه والا فسوف يخرج رموز غريبه ناتجه عن قرائه مواقع فارغه لانه يمكن عمل cout<<g; فقط مباشره اذا كانت مصفوفه احرف 

الفرق بين المصفوفات والمتغيرات العاديه في المود التالي :

    int arr[10];
    for (int i=0;i<10;i++)
        cin>>arr[i];
   

    for (int j=0;j<10;j++)
        cout<<"arr["<<j<<"]="<<arr[j]<<endl;
   
   
   
   
    int x1;
int x2;
int x3,x4,x5,x6,x7,x8,x9,x10;
cin>>x1>>x2>>x3>>x4>>x5>>x6>>x7>>x8>>x9>>x10;

cout<<"\n x1="<<x1<<"\t x2="<<x2<<"\t x3="<<x3<<"\t x4="<<x4<<"\t x5="<<x5<<"\t x6="<<x6<<"\t x7="<<x7<<"\t x8="<<x8<<"\t x9="<<x9<<"\t x10="<<x10<<endl;*/



ـــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ الامثله ــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــــ

1-ادخال 10 علامات ل طالب وحساب مجموعهم  ومعدلهم :

 

   
    double avg;
    int sum=0;

    int arr[10];
    for (int i=0;i<10;i++){
        cin>>arr[i];
    sum=sum+arr[i];
    }
    avg=sum/10;


        cout<<"\t sum="<<sum<<"\t AVG="<<avg<<endl;

 

 

2-ادخال 5 ارقام وطباعتهم وطباعه اكبر رقم :

3- ادخال كلمه HELLO   حرف حرف وطباعتها:

4- ادخل 10 ارقام واطبعهم ثم رتبهم ترتيبا تصاعديا واطبعهم :

5-اكتب برنامج كامل في البدايه يطلب من المستخدم ادال اسم طالب ثم ادخال 10 علامات له وبعد الانتهاء يظهر له على شكل قائمه خيارات ما اذا كان يريد حساب وطباعه المعدل او مجموع العلامات او ايجاد اكبر علامه او اصغر علامه او انه ناجح/راسب او طباعه العلامات بالترتيب التصاعدي   او الخروج من البرنامج بالضغط على 0  على شكل قائمه خيارات


سيتم حل الامثله ورفع حلقه بالحل واضافه الكودات في هاذه المدونه واخرى

  رابط الخلقه على اليوتيوب اضغط هنارابط الحلقه على اليوتيوب اضغط هنا

Comments

  1. تعرف الان معنا على تقدم افضل الخصومات التى لا مثيل لها الان وعلى اعلى مستوى ممكن حيث اننا نعلم علىتقدم افضل العروض الرائعة من موقع غوالي التى نقدمة الان فى قال وقت ممكن وعلى اعلى مستوى الان التى نقدمة بالسعودية

    ReplyDelete
  2. Play Free Spins - Casino Ow
    Play free spins on the popular casino slot kadangpintar machines. Play online casino games and win real money playing online. Get a chance to win big prizes! 인카지노 Rating: 4.5 · 샌즈카지노 ‎7 votes · ‎Free · ‎Game

    ReplyDelete

Post a Comment

Popular posts from this blog

الدرس السابع 7: جمله الشرط Switch في لغه c++

الدرس التاسع 9: الفنكشن function تعريفه وانواعه