O‘ZBEKISTON RESPUBLIKASI RAQAMLI TEXNOLOGIYALAR
VAZIRLIGI
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT
TEXNOLOGIYALARI UNIVERSITETI
“TIZIMLI VA AMALIY DASTURLASHTIRISH” KAFEDRASI
MA’LUMOTLAR TUZILMASI VA ALGORITMLAR
FANIDAN
3-AMALIY ISH TOPSHIRIG‘I. MA'LUMOTLARNI SARALASH
ALGORITMLARINI TADQIQ QILISH VA ULARNING DASTURLARINI
ISHLAB CHIQISH
Bajardi: Namozov Maxmud
Guruh : 030-21
TOSHKENT – 2023
3-tajriba ishi. MA’LUMOTLARNI SARALASH USULLARINI TADQIQ QILISH
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. "Nexia" markasidagi mashinalarni raqamlari bo‘yicha o‘sish tartibida joylashtiring.
Dastur kodi
#include
#include
#include
struct Car {
int raqam;
std::string marka;
std::string egasi_ismi;
std::string oxirgi_ta_mir_sanasi;
std::string chiqish_sanasi;
};
// Ta'mirlash ustaxonasidagi mashinalarni raqamlari bo'yicha tartiblash uchun
funksiya
bool compareByRaqam(const Car &a, const Car &b) {
return a.raqam < b.raqam;
}
int main() {
std::vector mashinalar = {
{121, "Nexia", "Ali", "15/12/2023", "01/01/2024"},
{102, "Nexia", "Vali", "20/11/2023", "05/01/2024"},
{103, "Nexia", "Hasan", "10/10/2023", "03/01/2024"}
};
// "Nexia" markasidagi mashinalarni raqamlari bo'yicha tartiblash
std::sort(mashinalar.begin(), mashinalar.end(), compareByRaqam);
// Tartiblangan ma'lumotlarni chiqarish
std::cout << "Nexia markasidagi mashinalar raqamlari bo'yicha tartiblangan
ma'lumotlar:" << std::endl;
for (const auto &mashina : mashinalar) {
std::cout << "Raqam: " << mashina.raqam << ", Marka: " << mashina.marka
<< ", Ega: " << mashina.egasi_ismi
<< ", Oxirgi ta'mirlangan sanasi: " << mashina.oxirgi_ta_mir_sanasi
<< ", Ta'mirdan chiqish sanasi: " << mashina.chiqish_sanasi <<
std::endl;
}
return 0;
}
|