• 2-Savol : Dasturda nechta unordered_set to‘plam mavjud Javob
  • 3-savol : Dasturda myPrint(myset_one) funksiyasi chaqirilganda natija qanday bo‘ladi va nima Sababdan Javob
  • -Savol: Dasturda nechta global funksiya yaratilgan?




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

    1-Savol: Dasturda nechta global funksiya yaratilgan?


    Javob : Ushbu dasturda 2 ta global funksiya yaratilgan:

    1. cmerge() funksiyasi


    2. myPrint() funksiyasi
    3. myPrintmultiset() funksiyasi

    cmerge() funksiyasi generik funksiya bo'lib, ikki konteynerning elementlarini birlashtirib, yangi konteyner qaytaradi.


    myPrint() funksiyasi unordered_set konteynerining elementlarini chop etadi.


    myPrintmultiset() funksiyasi unordered_multiset konteynerining elementlarini chop etadi.


    Bu funksiyalar dasturning boshqa qismlarida ishlatiladigan bo'lib, dasturning funktsionalligi oshirilishiga xizmat qiladi.




    2-Savol : Dasturda nechta unordered_set to‘plam mavjud?


    Javob : Ushbu dasturda 3 ta unordered_set to'plam mavjud:

    1. myset - unordered_set


    2. myset_str - unordered_set
    3. myset_one - unordered_set

    Bu to'plamlar quyidagi joylarda yaratilgan:


    unordered_set myset, myset_str;


    unordered_set myset_one;
    Shuningdek, dasturda yana 3 ta unordered_multiset to'plam ham mavjud:

    1. first - unordered_multiset


    2. second - unordered_multiset
    3. third - unordered_multiset

    Ular quyidagi qatorda yaratilgan:


    unordered_multiset< string> first, second, third;


    Demak, ushbu dasturda jami 6 ta to'plam (3 ta unordered_set va 3 ta unordered_multiset) mavjud.


    3-savol : Dasturda myPrint(myset_one) funksiyasi chaqirilganda natija qanday bo‘ladi va nima
    Sababdan ?


    Javob :

    Dasturda myPrint(myset_one) funksiyasi chaqirilmagan, chunki myset_one konteynerida satr tipidagi elementlar yo'q. myPrint() funksiyasi unordered_set konteynerining elementlarini chop etishga mo'ljallangan.


    Agar myPrint(myset_one) funksiyasi chaqirilsa, kompillyator xatosi yuzaga keladi, chunki funksiya parametri unordered_set& bo'lsa-da, myset_one konteynerida int tipidagi elementlar bor.


    Kompillyator quyidagi kabi xatoni beradi:


    error: no matching function for call to 'myPrint(std::unordered_set&)'


    myPrint(myset_one);
    ^
    note: candidate: void myPrint(unordered_set& myset)
    void myPrint(unordered_set& myset) { for (const string& x : myset) cout << " " << x; cout << endl;}
    ^
    note: no known conversion for argument 1 from 'std::unordered_set' to 'unordered_set&'
    Bu xato myPrint() funksiyasi unordered_set konteynerini kutayotgani, lekin myset_one unordered_set konteynerini berganligidan kelib chiqadi.

    Agar dasturchi myPrint() funksiyasini unordered_set konteynerini qabul qilishi uchun o'zgartirsa, u holda myset_one konteynerining elementlari chop etiladi.





    Download 122,84 Kb.
    1   ...   4   5   6   7   8   9   10   11   12




    Download 122,84 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    -Savol: Dasturda nechta global funksiya yaratilgan?

    Download 122,84 Kb.