Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

التكرار باستخدام For Loop

جزء من قسم المنطق وتدفق التنفيذ في رحلة C++ على Coddy. الدرس 14 من 56.

الآن بعد أن عرفت كيفية الوصول إلى العناصر الفردية والتحقق من حجم vector، لنتعلم كيفية معالجة كل عنصر منهجيًا باستخدام traditional for loop. يجمع هذا الأسلوب بين طريقة .size() والوصول المعتمد على الفهرس لزيارة كل عنصر بالتسلسل.

تستخدم traditional for loop متغير فهرس يبدأ من 0 ويزداد حتى يصل إلى size الخاص بـ vector:

std::vector<std::string> names = {"Alice", "Bob", "Charlie"};

for (int i = 0; i < names.size(); i++) {
    std::cout << names[i] << std::endl;
}

في هذا المثال، يضمن شرط i < names.size() في loop ألّا نتجاوز حدود vector، بينما يصل names[i] إلى كل عنصر باستخدام الفهرس الحالي. ستطبع loop كل اسم في سطر منفصل.

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

لاحظ أنه بعد انتهاء الحلقة، تصبح قيمة i مساويةً لـ names.size()، وفي هذه الحالة تساوي 3، لأن الحلقة تتوقف بمجرد أن يصبح الشرط i < names.size() خاطئًا.

challenge icon

التحدي

سهل

أنشئ برنامجًا يستخدم traditional for loop لـ iterate through vector من أسماء product ويعرضها بتنسيق قائمة مُرقّمة.

سيتم توفير المدخلات التالية:

  • عدد صحيح n يمثّل number المنتجات
  • ثم n من السلاسل النصية التي تمثّل أسماء المنتجات

يجب أن يقوم برنامجك بما يلي:

  1. إنشاء std::vector<std::string> باسم products
  2. استخدام push_back() لإضافة كل product من المنتجات وعددها n إلى vector
  3. استخدام traditional for loop مع متغير فهرس لـ iterate through vector
  4. في loop، استخدام method .size() لشرط loop
  5. استخدام operator القوسين المربعين [] للوصول إلى كل عنصر بحسب الفهرس
  6. طباعة كل product مع position number الخاص به، بدءًا من 1، بالتنسيق المحدد

استخدم تنسيق الإخراج التالي بالضبط:

Product 1: [first product name]
Product 2: [second product name]
Product 3: [third product name]
...

يجب أن يبدأ for loop بالفهرس 0، وأن يستخدم i < products.size() كشرط، وأن يزيد قيمة i في كل تكرار. عند الطباعة، أضف 1 إلى الفهرس لعرض position numbers بدءًا من 1.

جرّب بنفسك

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
    // اقرأ عدد المنتجات
    int n;
    cin >> n;
    
    // أنشئ vector لتخزين أسماء المنتجات
    vector<string> products;
    
    // اقرأ أسماء المنتجات وأضفها إلى الـ vector
    for (int i = 0; i < n; i++) {
        string product;
        cin >> product;
        products.push_back(product);
    }
    
    // TODO: اكتب الكود الخاص بك أدناه
    // استخدم حلقة for تقليدية للتكرار عبر الـ vector
    // واطبع كل منتج مع رقم موضعه
    
    return 0;
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم C++ عبر الإنترنت