• Savol
  • Savol: Dasturda aniqlangan myVector, myList, mySet konteynerlarning elementlari bir xil bo‘lishi uchun kerakli dastur fragmentlarini yozing. Javob




    Download 122,84 Kb.
    bet2/12
    Sana15.05.2024
    Hajmi122,84 Kb.
    #234504
    1   2   3   4   5   6   7   8   9   ...   12
    Bog'liq
    3-mustaqil ish dasturlash Abduganiyev

      Bu sahifa navigatsiya:
    • Savol
    Savol: Dasturda aniqlangan myVector, myList, mySet konteynerlarning elementlari bir xil bo‘lishi uchun kerakli dastur fragmentlarini yozing.
    Javob : Agar myVector, myList va mySet konteynerlarining elementlari bir xil bo'lishi kerak bo'lsa, ularni to'ldirish quyidagicha bo'lishi mumkin:

    // myVector, myList va mySet elementlarini bir xil qilib to'ldirish


    vector myVector;
    list myList;
    set mySet;

    for (int count = 0; count < 5; ++count) {


    myVector.push_back(count);
    myList.push_back(count);
    mySet.insert(count);
    }
    Bu kod fragmentida, birinchi uchta qator mos ravishda myVector, myList va mySet konteynerlarini yaratadi.

    Keyingi for tsikli 5 marta bajarilib, har bir iteratsiya uchun 0 dan 4 gacha bo'lgan sonlarni mos ravishda myVector, myList va mySet konteynerlariga qo'shadi.


    Natijada, har uchta konteynerdagi elementlar 0, 1, 2, 3, 4 qiymatlariga ega bo'ladi va ular bir xil bo'ladi.


    Agar myVector, myList va mySet konteynerlarining elementlari bir xil bo'lishi kerak bo'lsa, yuqoridagi kod fragmentidan foydalanish mumkin.




    Savol : itV qanday konteyner va nima uchun?


    Javob : itV o'zgaruvchisi vector::const_iterator tipiga ega bo'lib, myVector konteynerining konstant iteratorini ifodalaydi.

    Iteratorlar konteynerlarning elementlariga murojaat qilish va ularni navbati bilan o'tish uchun ishlatiladigan maxsus ob'ektlardir. const_iterator turi konteynerning elementlarini faqat o'qish uchun murojaat qilishga imkon beradi.


    itV iteratoridan quyidagi maqsadda foydalaniladi:


    1. myVector konteynerining elementlarini navbati bilan o'tib chiqish uchun:


    vector::const_iterator itV;


    itV = myVector.begin();
    while (itV != myVector.end()) {
    cout << *itV << " ";
    ++itV;
    }
    Bu kod myVector konteynerining barcha elementlarini chop etadi.

    2. myVector konteynerining elementlariga faqat o'qish uchun murojaat qilish uchun:


    cout << *itV << " ";


    Bu kod itV iteratorning ko'rsatayotgan elementini chop etadi.

    Konstant iterator ishlatish asosan quyidagi maqsadlarda foydalidir:


    - Konteynerning elementlarini o'zgartirmaslik kerak bo'lgan hollarda


    - Konteynerning elementlariga faqat o'qish uchun murojaat qilish kerak bo'lgan hollarda
    - Konteyner elementlarining xavfsizligini ta'minlash uchun



    Download 122,84 Kb.
    1   2   3   4   5   6   7   8   9   ...   12




    Download 122,84 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Savol: Dasturda aniqlangan myVector, myList, mySet konteynerlarning elementlari bir xil bo‘lishi uchun kerakli dastur fragmentlarini yozing. Javob

    Download 122,84 Kb.