>المصفوفات سي بلس بلس – C++ Array

>

لمصفوفات من الادوات الهامة في لغات البرمجة لتخزين قيم عددية او حرفية تحت نفس الاسم بمعنى آخر دعنا نرى المثال التالي لتخزين عدد

int A;
 A=5;

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

int A[50];

اعلن عن مصفوفة اعداد صحيحة تستطيع تخزين خمسون عدد صحيح كما يلي

 A[0] = 5;
A[1] = 10;
.
A[49] = 300;

مع ملاحظة ان التعبير التالي سوف يعتبر خطأ جسيم مع لغة سي++

A[50] = 200;

رغم ان المصفوفة تتسع ل 50 رقم الا ان المصفوفة تبدء من العنصر A[0] وتنتهي بالعنصر A[49]  وبذلك يكون مجموع العناصر 50 كما طلبت شاملا الرقم صفر وفي لغة سي++ دائما نبدء العد من صفر وليس من 1
  ويمكن ان تكون المصفوفة ذات اتجاهين مثل
15 65 33 44
1  0  11 22
33 52 11 17 
18 25 14 41
  لتمثل بلغة سي ++ كما يلي

 int A[4][4];

  حيث يكون العدد 44 المظلل بالاحمر هو
A[0][0] = 44;
 
ويكون العدد 18 المظلل بالاخضر هو

A[3][3] = 18;

  وافضل طريقة لتعبئة وتخصيص قيم لمصفوفة وللتعامل مع المصفوفات بصفة عامة هي عمل looping  باستخدام for  او غيرها كما سبق ووضحنا ذلك وكمثال  لملئ المصفوفة التالية بالقيمة صفر

int A[100];
int I;
for (I = 0 ; I < 100 ; I++)
{
A[I] = 0;
}

بالطبع الدوران السابق يغير قيمة العداد من صفر الى 99 ووضعنا داخل البلوك تخصيص لعناصر المصفوفة وبدلا من وضع قيمة عددية لتشير لعنصر بالمصفوفة وضعنا رمز العداد حيث انه سوف يتغير مع الدوران الذي يحدث وبالتالي تتخصص القيم حسب الترتيب
  ولتخصيص القيم صفر مثلا لمصفوفه ذات اتجاهين

int A[10][10] , I , J;
for (I = 0 ; I < 10 ; I++)
{
for (J = 0 ; J < 10 ; J++)
{
A[I][J] = 0;
}
}

بوضع دورتين واحدة تدور على الصفوف حتى تنهيها وتعود لتغير الصف وهكذا كما سبق وتعلمت
  ولنا في المصفوفات مآرب أخرى
  لاتحتوي لغة سي ++ على تعريف ثابت وداخلي للمتغيرات الحرفية ولذلك يتم تلافي ذلك باستخدام المصفوفات ربما يعترض واحد من المتابعين لهذه الدروس بأن الامر char يقوم بذلك نعم هو كذلك ولكنه يعرف المتغير على انه حرف واحد فقط ونحن سنتحايل عليه بالمصفوفات كما يلي

char  Q;
Q = ‘A’;

عرفنا المتغير Q على انه حرف وبالتالي لانستطيع تخزين فيه سوى القيمة A  فاءذا طلبت طباعة قيمة المتغير Q سيقوم البرنامج بطبع الحرف A  فماذا لو اننا نريد تخزين عدة حروف تمثل اسم شخص اذا علينا بمصفوفة حروف كما يلي

char Q[40];
Q = “Mohamad Hasan”;

هل رأيت كيف تغلبنا على ذلك اعتمد الصيغة السابقة مؤقتا حتى الوصول لدرس يعطيك مزايا اكثر وشرح اوضح للمتغيرات الحرفية اننا لن نتأخر كثيرا عليك فهو الدرس القادم

أضف تعليقاً

Filed under دروس c++

أضف تعليقاً

إملأ الحقول أدناه بالمعلومات المناسبة أو إضغط على إحدى الأيقونات لتسجيل الدخول:

WordPress.com Logo

أنت تعلق بإستخدام حساب WordPress.com. تسجيل خروج   / تغيير )

صورة تويتر

أنت تعلق بإستخدام حساب Twitter. تسجيل خروج   / تغيير )

Facebook photo

أنت تعلق بإستخدام حساب Facebook. تسجيل خروج   / تغيير )

Google+ photo

أنت تعلق بإستخدام حساب Google+. تسجيل خروج   / تغيير )

Connecting to %s