حجم الـ Vector
جزء من قسم Logic & Flow في رحلة C++ على Coddy — الدرس 13 من 56.
عند العمل مع المتجهات (vectors)، غالباً ما تحتاج إلى معرفة عدد العناصر التي تحتوي عليها. توفر الدالة .size() هذه المعلومات بالضبط - فهي تعيد العدد الحالي للعناصر المخزنة في المتجه الخاص بك.
إليك كيفية استخدام دالة .size():
std::vector<int> numbers = {10, 20, 30, 40, 50};
int count = numbers.size();
std::cout << "The vector has " << count << " elements" << std::endl;سيؤدي هذا إلى إخراج "The vector has 5 elements" لأن المتجه (vector) الخاص بنا يحتوي على خمسة أعداد صحيحة.
تُعد الطريقة .size() مفيدة بشكل خاص عندما تحتاج إلى التحقق مما إذا كان الـ vector فارغاً، أو التحقق من حدود المصفوفة، أو إعداد الحلقات التكرارية. فهي تُرجع عدداً صحيحاً غير موقع (unsigned integer) يمثل العدد الدقيق للعناصر الموجودة حالياً في الـ vector، ويتم تحديث هذا العدد تلقائياً عند إضافة أو إزالة العناصر باستخدام دوال مثل push_back().
التحدي
سهلقم بإنشاء برنامج يوضح كيفية استخدام طريقة .size() لتتبع عدد العناصر في المتجه (vector) أثناء بناء مجموعة من درجات الطلاب.
سيتم توفير المدخلات التالية:
- عدد صحيح
nيمثل عدد درجات الطلاب التي سيتم معالجتها - ثم
nمن الأعداد الصحيحة التي تمثل درجات الطلاب الفردية
يجب أن يقوم برنامجك بما يلي:
- إنشاء
std::vector<int>فارغ باسمscores - طباعة الحجم الأولي للمتجه الفارغ
- استخدام حلقة (loop) لقراءة كل درجة من درجات الطلاب الـ
n - لكل درجة، قم بإضافتها إلى المتجه باستخدام
push_back() - بعد إضافة كل درجة، قم بطباعة الحجم الحالي للمتجه
- أخيرًا، قم بطباعة رسالة ملخصة توضح إجمالي عدد الدرجات التي تم جمعها
استخدم تنسيق المخرجات الدقيق التالي:
Initial vector size: 0
After adding score, size is: 1
After adding score, size is: 2
After adding score, size is: 3
...
Total scores collected: [final size]استخدم طريقة .size() للحصول على العدد الحالي للعناصر في المتجه بعد كل إضافة وللملخص النهائي.
ورقة مرجعية
تُرجع طريقة .size() العدد الحالي للعناصر في المتجه (vector):
std::vector<int> numbers = {10, 20, 30, 40, 50};
int count = numbers.size();
std::cout << "The vector has " << count << " elements" << std::endl;تُرجع طريقة .size() عدداً صحيحاً غير موقع (unsigned integer) وتتحدث تلقائياً عند إضافة أو إزالة العناصر. وهي مفيدة للتحقق مما إذا كان المتجه فارغاً، أو التحقق من حدود المصفوفة، أو إعداد الحلقات التكرارية (loops).
جرّب بنفسك
#include <iostream>
#include <vector>
using namespace std;
int main() {
// قراءة عدد الدرجات
int n;
cin >> n;
// إنشاء متجه (vector) فارغ للدرجات
vector<int> scores;
// مهام: اكتب الكود الخاص بك أدناه
// 1. طباعة الحجم الأولي للمتجه الفارغ
// 2. استخدام حلقة لقراءة كل درجة وإضافتها إلى المتجه
// 3. بعد إضافة كل درجة، اطبع الحجم الحالي
// 4. طباعة رسالة الملخص النهائي
return 0;
}يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.
جميع دروس Logic & Flow
1المؤشرات والذاكرة
ما هو المؤشر؟معامل العنوان (Address-Of)معامل الوصول للقيمة (Dereference)المؤشرات الفارغة (Null Pointers)المؤشرات والمصفوفاتالذاكرة الديناميكية باستخدام 'new'تحرير الذاكرة باستخدام 'delete'مراجعة - تمارين على المؤشرات2المتجهات (المصفوفات الديناميكية)
مقدمة إلى std::vectorإنشاء Vectorإضافة العناصرالوصول إلى العناصرحجم الـ Vectorالتكرار باستخدام For Loopالـ Range-Based For Loopإزالة العناصرملخص - عمليات الـ Vector