• Savol
  • Savol : Dasturda dasturchining yana bir oddiy xatosini toping. Javob




    Download 122,84 Kb.
    bet3/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 dasturchining yana bir oddiy xatosini toping.


    Javob : Taqdim etilgan dasturda yana bir oddiy xato quyidagi qatorda mavjud:

    mySet.insert(01);


    Ushbu qatorda 01 son kiritilmoqda. Bu yerda 01 soni o'n olti asosida yozilgan son bo'lib, uning o'n o'nlik qiymati 1 ga teng.

    To'g'ri yozilishi quyidagicha bo'lishi kerak:


    mySet.insert(1);


    Yoki agar dasturchi 1 ni o'n olti asosida yozmoqchi bo'lsa, u holda quyidagicha bo'lishi kerak:

    mySet.insert(0x01);


    Bu xato dastur ishlashiga hech qanday ta'sir qilmaydi, ammo agar dasturchi 01 ni o'n o'nlik son sifatida qabul qilmoqchi bo'lsa, u holda bu xato xavfli bo'lishi mumkin.

    Shuning uchun, dastur yozishda raqamli konstantalarni to'g'ri yozish muhim ahamiyatga ega.




    Savol : Dasturdagi barcha konteynerlarni yarim elementlarini chiqarish dastur fragmentlarini tuzing ?


    Javob : Dasturdagi barcha konteynerlardan (myVector, myList, mySet) yarim elementlarini chiqarish uchun quyidagi kodni yozish mumkin:

    // myVector yarim elementlarini chiqarish


    cout << "myVector yarim elementlari: ";
    vector::const_iterator itV = myVector.begin();
    for (int i = 0; i < myVector.size() / 2; i++) {
    cout << *itV << " ";
    ++itV;
    }
    cout << std::endl;

    // myList yarim elementlarini chiqarish


    cout << "myList yarim elementlari: ";
    list::const_iterator itL = myList.begin();
    for (int i = 0; i < myList.size() / 2; i++) {
    cout << *itL << " ";
    ++itL;
    }
    cout << std::endl;

    // mySet yarim elementlarini chiqarish


    cout << "mySet yarim elementlari: ";
    sset::const_iterator itS = mySet.begin();
    for (int i = 0; i < mySet.size() / 2; i++) {
    cout << *itS << " ";
    ++itS;
    }
    cout << endl;
    Ushbu kod fragmentida quyidagi amallar amalga oshiriladi:

    1. myVector konteynerining yarim elementlarini chiqarish uchun, myVector.begin() iteratori itV ga o'zlashtirilib, for tsiklida myVector.size() / 2 marta iteratsiya qilinadi. Har bir iteratsiyada *itV chiqariladi va itV o'zgartiruvchisi keyingi elementga ko'chiriladi.


    2. myList konteynerining yarim elementlarini chiqarish uchun, myList.begin() iteratori itL ga o'zlashtirilib, for tsiklida myList.size() / 2 marta iteratsiya qilinadi. Har bir iteratsiyada *itL chiqariladi va itL o'zgartiruvchisi keyingi elementga ko'chiriladi.


    3. mySet konteynerining yarim elementlarini chiqarish uchun, mySet.begin() iteratori itS ga o'zlashtirilib, for tsiklida mySet.size() / 2 marta iteratsiya qilinadi. Har bir iteratsiyada *itS chiqariladi va itS o'zgartiruvchisi keyingi elementga ko'chiriladi.


    Ushbu kod fragmenti har uchta konteynerning yarim elementlarini chop etadi.





    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 dasturchining yana bir oddiy xatosini toping. Javob

    Download 122,84 Kb.