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

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

جزء من قسم Logic & Flow في رحلة C++ على Coddy. الدرس 14 من 56.

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

تستخدم حلقة for تقليدية متغير فهرس يبدأ من 0 ويزداد حتى يصل إلى حجم vector:

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

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

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

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

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

challenge icon

التحدي

سهل

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

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

  • عدد صحيح n يمثل number من products
  • ثم n من string التي تمثل product names

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

  1. Create std::vector<std::string> باسم products
  2. استخدم push_back() لـ add كل product names وعددها n إلى vector
  3. استخدم traditional for loop مع متغير فهرس لـ iterate through vector
  4. في loop، استخدم الطريقة .size() لشرط loop
  5. استخدم معامل الأقواس المربعة [] للوصول إلى كل عنصر حسب الفهرس
  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اختبر نفسك

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

جميع دروس Logic & Flow

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