انت هنا الان : شبكة جامعة بابل > موقع الكلية > نظام التعليم الالكتروني > مشاهدة المحاضرة

المصفوفات Arrays : (المصفوفات ذات البعد الواحد)

Share |
الكلية كلية العلوم للبنات     القسم قسم الحاسبات     المرحلة 1
أستاذ المادة احمد بدري مسلم الغزالي       6/1/2011 10:15:33 AM

المصفوفات  Arrays :  (المصفوفات ذات البعد الواحد)

 

 

نحن لحد الآن لا نقدر أن نعالج ونخزن كمية كبيرة من البيانات بطريقة ملائمة ومناسبة . فعلى سبيل المثال إذا أردنا ان نتعامل مع قائمة من الأسماء أو الأرقام , مثلاُ 100  عدد صحيح , هذا يتطلب تعريف  100 متغير من نوع int  , هذا الشيء يكون غير منطقي وذلك لانه يتطلب جهد كبير في تسمية هذه المتغيرات ومن ثم جهد في طريقة خزن أو قراءة هذه المتغيرات كل واحد بصورة منفردة . هذه المشكلة لها حل في لغات البرمجة عن طريق وجود هيكل بياني يستخدم لخزن البيانات بصورة متسلسلة ومرتبة بطريقة يسهل التعامل معها , هذا الهيكل البياني يسمى بالمصفوفة  Array .

 

 

ملاحظات حول المصفوفة :

 

1.     تستخدم المصفوفة لحجز كمية كبيرة من البيانات بتسلسل وتنظيم معين .

 

2.     تتكون المصفوفة من مجموعة من الخلايا , هذه الخلايا تسمى بعناصر المصفوفة Array components  .

 

3.     عناصر المصفوفة تكون كلها من نفس النوع .

 

4.     تخزن البيانات في المصفوفة بشكل متسلسل , حيث توجد إمكانية للوصول إلى للبيانات في المصفوفة عن طريق موقع العنصر في المصفوفة , مثلا لو كان لدينا المصفوفة list  المحتوية على خمس عناصر كالتالي :

 

 

5

8

10

-11

21

 


                                                                  list

 

 

يمكن الوصول الى أي عنصر من عناصر هذه المصفوفة عن طريق ذكر اسم المصفوفة مع موقع العنصر المطلوب . مثلاً لو كان المطلوب طباعة محتوى العنصر الثالث نعمل التالي :

 

Cout<< list[3];

 

5.     كل عنصر من عناصر المصفوفة هو عنوان موقع ذاكرة (متغير) .

 

6.     يسمى هذا النوع بالمصفوفات ذات البعد الواحد one dimensional array .

 

7.     الصيغة العامة لتعريف المصفوفة في البرنامج هي :

 

Type_of_Array    Name_of_Array [number of its elements] ;

 

ولتعريف المصفوفة list في المثال أعلاه تكون كالتالي :

 

int   list [5] ;

 

8. لتخزين البيانات في المصفوفة توجد ثلاث طرق لتحقيق ذلك :

 

1- طريقة الأقواس المربعة:

 

Ex1:

 

int list [5]={5,8,10,-11,21};

 

 

Or

 

int list[]={5,8,10,-11,21};

 

Ex2:

 

char str[5]={‘h’,’e’,’l’,’l’,’o’};

 

Or

 

char str[]=”hello” ;

 

من المثال أعلاه يتبين بأنه يمكن عدم تحديد عدد عناصر المصفوفة .

 

2-طريقة إحلال قيم للمصفوفة عنصر عنصر:

 

List[1]=5;

 

List[2]=8;

 

List[3]=10;

 

List[4]=-11;

 

List[5]=21;

 

3-قراءة عناصر المصفوفة باستخدام إيعازات التكرار كالتالي :

 

For (i=1;i<=5;i++)

 

   cin>>a[i];

 

يمثل عدد مرات التكرار عدد عناصر المصفوفة . هذه الطريقة هي التي  تميز المصفوفات في عملية التعامل معها بشكل مختصر وككتلة واحدة .

 

 

مثال : اكتب برنامج يقرأ مصفوفة عدد عناصرها 10 عناصر المطلوب طباعة مجموع هذه العناصر ؟

 

#include<iostream.h>

 

Void main( )

 

{

 

  int i,s=0;    int a[10];

 

  for(i=1;i<=10;i++)

 

    {

 

       cout<<”enter integer value \n”;

 

       cin>>a[i];

 

    }

 

for (i=1;i<=10;i++)

 

   s=s+a[i];

 

for(i=1;i<=10;i++)

 

  cout<<a[i]<<endl;

 

}

 

مثال : اكتب برنامج يقرأ مصفوفة من الرموز ذات البعد n المطلوب طباعة عناصر هذه المصفوفة بشكل معكوس ؟

 

#include<iostream.h>

 

void main( )

 

{

 

  int i;

 

  char a[ 20];

 

  cout<<”enter number of  array elements less than 20 \n”;

 

  cin>>n;

 

  for(i=1;i<=n;i++)

 

  {

 

    Cout<<”enter a[“<<i<<”] as char \n”

 

    Cin>>a[i];

 

  }

 

   For(i=n;i>=1;i--)

 

     Cout<<”a[“<<i<<”]=”<<a[i]<<endl;

 

  }

 

 


المادة المعروضة اعلاه هي مدخل الى المحاضرة المرفوعة بواسطة استاذ(ة) المادة . وقد تبدو لك غير متكاملة . حيث يضع استاذ المادة في بعض الاحيان فقط الجزء الاول من المحاضرة من اجل الاطلاع على ما ستقوم بتحميله لاحقا . في نظام التعليم الالكتروني نوفر هذه الخدمة لكي نبقيك على اطلاع حول محتوى الملف الذي ستقوم بتحميله .
الرجوع الى لوحة التحكم