كيف يتم تنفيذ المصفوفات في C ++؟



ستساعدك هذه المقالة حول المصفوفات في C ++ على فهم كل ما يمكن معرفته عن المصفوفات أحادية ومتعددة الأبعاد في C ++

مجموعة هي مجموعة متسلسلة من العناصر ، من نفس نوع البيانات. يتم تخزينها بالتسلسل في الذاكرة. المصفوفة هي بنية بيانات تحتوي على نوع مماثل من العناصر. لا يتم التعامل مع عناصر المصفوفة ككائنات في ++ C كما لو كانت في Java. في هذه المقالة سنناقش المصفوفات في C ++.

المصفوفات في C ++

تخيل أنك في متجر تسجيلات موسيقية وأخبرك بترتيب جميع التسجيلات تحت التسمية XYZ Records في مكان واحد فوق الآخر. يمكن تسمية مجموعة السجلات المتسلسلة هذه بالمصفوفة. المصفوفة هي مجموعة متسلسلة من العناصر من نفس نوع البيانات. في مثالنا أعلاه ، سجلات XYZ هي نوع البيانات وجميع السجلات التي جمعتها لها نفس الناشرين. تتم معالجة جميع العناصر في المصفوفة باسم شائع.





ستركز هذه المقالة حول المصفوفات في C ++ على هذه المؤشرات الأساسية ،

لنبدأ بفهم ما هي المصفوفات أحادية البعد ،



صفيف أحادي البعد

النحو لإعلان أ صفيف أحادي البعد:

لدينا نوع بيانات يمكن أن يكون أيًا من أنواع البيانات الأساسية مثل int أو float أو double. Array Name هو اسم المصفوفة ونعلن حجم المصفوفة.في مثالنا أعلاه ، ستكون المصفوفة ،

صفيف سجل XYZ [100]

دعونا ننظر في مثال آخر:



اختبار int [20]

سيحتوي اختبار المصفوفة على عناصر من النوع int وسيكون حجمها 20.

المصفوفات في C ++: حجم الصفيف

يتم إعطاء حجم المصفوفة في وقت إعلان المصفوفة. بمجرد إعطاء حجم المصفوفة لا يمكن تغييره. ثم يقوم المترجم بتخصيص مساحة كبيرة من الذاكرة للصفيف.

تسلسل فيبوناتشي c ++

تأمل المثال

اختبار int [20]

في المثال أعلاه ، لدينا اختبار مصفوفة من النوع int. لقد قدمنا ​​حجم الصفيف ليكون 20. وهذا يعني أنه سيتم ترك 20 موقعًا متتاليًا للذاكرة مجانًا للمصفوفة في الذاكرة.

فهرس المصفوفة والتهيئة

رقم مرتبط بكل موضع في مصفوفة وهذا الرقم يسمى فهرس الصفيف . يبدأ من 0 وحتى العنصر الأخير ، أي حجم المصفوفة ناقص واحد. هناك ناقص واحد لأننا نبدأ العد من صفر وليس واحدًا. تبدأ مؤشرات المصفوفة دائمًا من الصفر.

تأمل في هذا المثال ، هذه هي المجموعة العمرية.

قيمة المصفوفة 1241031307

مؤشرات المصفوفة

0

واحد

2

3

4

هنا تحتوي المصفوفة على القيم 12،41،3،13،7 والمؤشرات هي 0،1،2،3،4،5. إذا أردنا تمثيل عنصر في الفهرس 4 ، فسيتم تمثيله على أنه عمر [4] وسيتم عرض القيمة 7.

بشكل افتراضي ، يحتوي الصفيف على جميع القيم الصفرية.تتم تهيئة الصفيف في وقت الإعلان. يمكن أيضًا تنفيذ ذلك لاحقًا إذا أدخل المستخدم قيمة المصفوفة عند الحاجة.

دعونا نرى كيف تعمل التهيئة أثناء الإعلان ،

التهيئة أثناء الإعلان

يمكن تهيئة المصفوفة أثناء الإعلان. يتم ذلك عن طريق تحديد عناصر المصفوفة في وقت الإعلان. هنا يتم أيضًا تحديد حجم المصفوفة ويتم تحديده من قبلنا.

ضع في اعتبارك الرمز ،

# تضمين باستخدام مساحة الاسم std int main () {int arr [] = {10، 20، 30، 40} return 0}

تفسير

في المثال أعلاه ، نقوم بإنشاء مصفوفة من النوع int وباسم arr. نحدد مباشرة عناصر المصفوفة. يتم تحديد حجم المصفوفة من خلال حساب عدد العناصر في المصفوفة الخاصة بنا. في هذه الحالة ، الحجم هو 4.

التالي في هذه المقالة حول المصفوفات في C ++ يتيح لنا معرفة كيفية عمل التهيئة بواسطة المستخدم

التهيئة بواسطة مستخدم

في هذه الطريقة ، نسمح للمستخدم بتحديد حجم المصفوفة. في هذه الحالة ، نحتاج إلى متغير يحتوي على حجم المصفوفة وحلقة for لقبول عناصر المصفوفة. نقوم بتعيين حجم عشوائي في وقت الإعلان ونستخدمه فقط حسب الحاجة. عادة ما يكون الحجم في البداية في الجانب العلوي. لدينا متغير i للتحكم في الحلقة for.

تأمل المثال ،

# تضمين باستخدام مساحة الاسم std int main () {int arr [50]، n، i cout<<'Enter the size of array:'<>تكلفة n<<'Enter the elements of array:'<arr [i]} return 0}

انتاج |

الإخراج - المصفوفات في C ++ - Edureka

تفسير

في البرنامج أعلاه ، نعلن عن مصفوفة بحجم 50. ثم نطلب من المستخدم إدخال عدد العناصر التي يرغب في إدخالها في هذه المصفوفة. ثم نقبل عناصر المصفوفة التي أدخلها المستخدم.

المصفوفات في C ++: عرض المصفوفة

يتطلب عرض المصفوفة أيضًا حلقة for. ننتقل إلى المصفوفة بأكملها ونعرض عناصر المصفوفة.

هنا مثال،

# تضمين باستخدام مساحة الاسم std int main () {int arr [50]، n، i cout<<'Enter the size of array:'<>تكلفة n<<'Enter the elements of array:'<تكلفة الوصول [i]}<<'Array elements are:'<

انتاج |

ما هو الشراء في إدارة المشروع

تفسير

في البرنامج أعلاه ، نعلن عن مصفوفة بحجم 50. ثم نطلب من المستخدم إدخال عدد العناصر التي يرغب في إدخالها في هذه المصفوفة. ثم نقبل عناصر المصفوفة التي أدخلها المستخدم. ثم نستخدم حلقة for مرة أخرى لعرض عناصر المصفوفة.

الانتقال إلى هذه المصفوفات في مقالة C ++ ،

الوصول إلى الصفيف في أي وقت

الوصول إلى عناصر المصفوفة بسيط ويتم باستخدام فهرس المصفوفة. ألق نظرة على الكود أدناه.

# تضمين استخدام مساحة الاسم std int main () {int arr [5]، i arr [4] = 2 arr [2] = 17 arr [0] = 17 cout<<'Array elements are:'<

انتاج |

c c # c ++

تفسير

في البرنامج أعلاه ، لدينا مجموعة من الحجم 5. نقوم بإدخال العناصر في مواقع مختلفة باستخدام فهرس المصفوفة. نقوم بطباعة المصفوفة للحصول على الإخراج أعلاه.

افتراضيًا ، تكون جميع عناصر الصفيف صفرًا.

ماذا يحدث إذا تجاوزنا حجم المصفوفة؟

في c ++ ، إذا حاولنا الوصول إلى العناصر خارج الحدود ، فقد لا يظهر الخطأ بواسطة المترجم ولكننا لن نحصل على الإخراج المناسب.

يقودنا هذا إلى الجزء الأخير من هذه المصفوفات في مقالة C ++ ،

صفيف متعدد الأبعاد

صفائف المصفوفات هي مصفوفات متعددة الأبعاد. هذا لأن كل عنصر في مصفوفة متعددة الأبعاد له مصفوفة خاصة به. نحتاج إلى حلقات n for للتكرار خلال مصفوفة متعددة الأبعاد اعتمادًا على الأبعاد.

بناء الجملة لتصريح المصفوفات متعددة الأبعاد

اسم ملف نوع البيانات [size1] [size2] & hellip .. [الحجم n]
int a [10] [20]

تأمل المثال ،

سيكون حجم المصفوفة أعلاه 10 * 20 أي 200 عنصر.وبالمثل ، يمكن أن يكون لدينا مصفوفتان أو ثلاثة أو أكثر من المصفوفات ذات الأبعاد.يتطلب كل بُعد واحدًا للحلقة. لذلك ، تتطلب المصفوفة ثنائية الأبعاد مصفوفة ثنائية وثلاثية الأبعاد تتطلب ثلاثة.

ضع في اعتبارك الكود

# تضمين استخدام مساحة الاسم std int main () {int arr [3] [2] = {{0،1}، {2،3}، {4،5}} لـ (int i = 0 i<3 i++) { for (int j = 0 j < 2 j++) { cout << 'Element:' cout < 

انتاج |

تفسير

في الكود أعلاه ، نعرض مصفوفة 3 * 2. تحتوي هذه المصفوفة على 3 صفوف وعمودين. لدينا 2 حلقات. كل مسؤول عن بعد واحد من المصفوفة. تعتني حلقة for الخارجية بالصفوف وداخل الأعمدة.

وبالمثل ، يمكننا كتابة رمز لصفيف ثلاثي الأبعاد وسيكون هناك ثلاث حلقات for وسيتم التحكم في كل بُعد بواسطة حلقة for.

وهكذا وصلنا إلى نهاية هذه المقالة حول 'المصفوفات في C ++'. إذا كنت ترغب في معرفة المزيد ، تحقق من بواسطة Edureka ، شركة تعليمية موثوقة عبر الإنترنت. تم تصميم دورة تدريب وإصدار شهادات Java J2EE و SOA من Edureka لتدريبك على مفاهيم Java الأساسية والمتقدمة جنبًا إلى جنب مع العديد من أطر Java مثل Hibernate & Spring.

لديك سؤال لنا؟ يرجى ذكر ذلك في قسم التعليقات في هذه المدونة وسنعاود الاتصال بك في أقرب وقت ممكن