• To‘g‘ridan-to‘g‘ri qo‘shish usuli
  • -tajriba ishi. MA’LUMOTLARNI SARALASH USULLARINI TADQIQ QILISH




    Download 381,24 Kb.
    bet3/3
    Sana19.05.2024
    Hajmi381,24 Kb.
    #244429
    1   2   3
    Bog'liq
    mta 1-amaliy ish husniddin

    3-tajriba ishi. MA’LUMOTLARNI SARALASH USULLARINI TADQIQ QILISH

    Quyida har 10 ta variant uchun umumiy bo‘lgan masalaning berilishi va talab qilinayotgan saralash usuli keltirilgan. Talabalar topshiriq olib so‘ralayotgan usul bilan o‘zlari tomonidan tanlangan ixtiyoriy saralash usulining samaradorligini solishtirish dasturini tuzishlari kerak. Usullarni solishtirishda o‘rin almashtirishlar soni nazarda tutiladi.
    Ta’mirlash ustaxonasida bir nechta (N ta) mashina bor. Ular to‘g‘risida quyidagi ma’lumotlarga egamiz: raqami, markasi, egasining ismi, oxirgi marta ta’mirlanganligi sanasi (kuni, oyi, yili), ta’mirdan chiqishi lozim bo‘lgan sana (kun, oy, yil).
    To‘g‘ridan-to‘g‘ri qo‘shish usulidan foydalanib, saralashni amalga oshirish dasturini ishlab chiqish (variantga mos ravishda):

    1. Mashina egalarining ismlari bo‘yicha alifbo tartibida joylashtirilsin va mos ravishda ularning mashinalari haqidagi ma’lumotlar chiqarilsin.

    #include


    #include
    #include

    struct Mashina {


    std::string egalarIsmi;
    std::string model;
    int taqvim;

    // Konstruktor


    Mashina(const std::string& ism, const std::string& mod, int yil) : egalarIsmi(ism), model(mod), taqvim(yil) {}
    };

    // Qo'shish usuli


    void mashinaQosh(std::vector& mashinaRoyhati, const std::string& egalarIsmi, const std::string& model, int taqvim) {
    mashinaRoyhati.push_back({egalarIsmi, model, taqvim});
    }

    // Alifbo tartibida saralash uchun funksiya


    bool alifboTartibida(const Mashina& mashina1, const Mashina& mashina2) {
    return mashina1.egalarIsmi < mashina2.egalarIsmi;
    }

    int main() {


    // Ta'mirlash ustaxonasi mashinalari
    std::vector mashinaRoyhati;

    // Mashinalarni qo'shish


    mashinaQosh(mashinaRoyhati, "John", "Toyota", 2018);
    mashinaQosh(mashinaRoyhati, "Alice", "Honda", 2016);
    mashinaQosh(mashinaRoyhati, "Bob", "Ford", 2020);

    // Ta'mirlash ustaxonasidagi mashinalarni ismlari bo'yicha alifbo tartibida saralash


    std::sort(mashinaRoyhati.begin(), mashinaRoyhati.end(), alifboTartibida);

    // Natijani chiqarish


    std::cout << "Ta'mirlash ustaxonasidagi mashinalar:" << std::endl;
    for (const auto& mashina : mashinaRoyhati) {
    std::cout << "Egalar ismi: " << mashina.egalarIsmi << ", Modeli: " << mashina.model << ", Taqvim yili: " << mashina.taqvim << std::endl;
    }

    return 0;


    }

    Download 381,24 Kb.
    1   2   3




    Download 381,24 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    -tajriba ishi. MA’LUMOTLARNI SARALASH USULLARINI TADQIQ QILISH

    Download 381,24 Kb.