8. OYD da juda murakkab saralash algoritmlari asosida dasturlar yaratish
Ishning maqsadi: C++ tilida classlar, kontener ko’nikmalari asosida murakkab saralash algortimlarni imkoniyatlaridan foydalanib dasturlash bilimlarini shakllantirish.
Topshiriq: Berilgan class va kontenerlar orqali murakkab saralash algoritmlaridan foydalanib dastur yozing.
№
|
Ajdod class va uning maydonlari
|
Voris class (ajdod class maydonlaridan foydalangan holda)
|
Obektlar massivini yarating.
Murakkab saralash algortimlaridan foydalanib saralash metodlari yarating.
(saralang o’sib borish tartibida yoki kamayib borish tartibida va alifbo tartibida)
|
|
class odamlar:
ismi,
familyasi,
yoshi
|
class talabalar:
bahosi
|
Array konteyneridan foydalanib
talabalar ro’yxatida yoshi bo’yicha saralang.
|
|
class hodimlar:
FIO
|
class ishchilar:
maoshi,
staji
|
Array konteyneridan foydalanib
ishchilar ro’yxatida maoshi bo’yicha saralang.
|
|
class mahsulot :
Nomi,
yaroqlillik _muddati,
|
class dori :
narxi
|
Vector konteyneridan foydalanib
dorilar ro’yxatida narxi bo’yicha saralang
|
|
class mashinalar:
nomi,
tezligi,
|
class avtobuslar:
ot_kuchi
yoqilg’i_sig’imi
|
List konteyneridan foydalanib
avtobuslar ro’yxatida ot_kuchiga qarab saralang
|
|
class fudbolchilar:
FIO,
daromadi,
yoshi
|
class tennischilar:
bo’y_uzunligi,
|
Vector konteyneridan foydalanib
tennischilarni ro’yxatida bo’y_uzunligi bo’yicha saralang
|
|
class kompyuterlar:
firma_nomi,
batareya_quvvati,
ishlab_chiq_sana.
xotira_xajmi
|
class mobil_telefon:
|
Deque konteyneridan foydalanib
mobil telefonlar ro’yxatida xotira_xajmi bo’yicha saralang.
|
|
class talabalar
FIO,
bahosi,
yoshi.
|
class o’quvchilar:
sinf_raqami,
yashash_manzili
|
Array konteyneridan foydalanib
o’quvchilar ro’yxatida FIO bo’yicha saralang
|
|
class kitob
sahifalar soni,
|
class gazetalar:
narxi,
nomi,
|
List konteyneridan foydalanib
gazetalar ro’yxatida sahifalar soni,
bo’yicha saralang.
|
|
class samalyotlar:
Nomi,
uzunligi,
tezligi
|
class
kemalar:
sig’imi,
narxi
|
Vector konteyneridan foydalanib
kemalar ro’yxatida uzunligi,
bo’yicha saralang.
|
|
class xodimlar:
FIO,
yoshi,
jinsi.
|
class ishchilar:
staji,
manzili,
millati
|
List konteyneridan foydalanib ishchilar ro’yxatida FIO bo’yicha saralang.
|
|
class tovar:
nomi,
narxi,
chiqarilgan yili
|
class dori_darmonlar;
saqlanish_muddati
|
Array konteyneridan foydalanib ishchilar dori darmonlar ro’yxatida chiqarilgan yili bo’yicha saralang.
|
|
class hayvonlar:
nomi,
necha_yili_yashashi
|
class parrandalar :
turi
yashash joyi,
|
Array konteyneridan foydalanib ishchilar parrandalar ro’yxatida necha yil yashashi bo’yicha saralang.
|
|
class davlat:
nomi,
aholi_soni,
|
class shahar:
tili,
yer_maydoni,
joylashgan_joyi,
|
List konteyneridan foydalanib shahar ro’yxatida aholi_soni yashashi bo’yicha saralang.
|
|
class okean:
Nomi.
uzunligi,
|
class daryo:
Suv_hajmi, joylashgan_joyi,
|
Deque konteyneridan foydalanib shahar ro’yxatida uzunligi bo’yicha saralang.
|
|
class kasaliklar:
kasalik_nomi,
kasallikka_chalinganlar_soni,
|
class koronovirus:
Eng_ko’p,tarqalgan_hudud,tuzalganlar_soni.
|
Array konteyneridan foydalanib shahar ro’yxatida kasallikka_chalinganlar_soni,
bo’yicha saralang.
|
OYD da juda katta sonlarni saralash algoritmlari asosida dasturlar yaratish
Ishning maqsadi: Juda katta sonlarni saralash algoritmlari orqali dasturlash ko’nikmalarini shakllantirish.
Topshiriq: Variantda berilgan class, noma’lum nomlar fazosi,kontenerlar asosida, OYD da juda katta sonlarni saralash algoritmlari xususiyatlaridan foydalangan holda vazifaga muvofiq dasturni yozing.
2- jadval
№
|
Topshiriq
Barcha classlarda juda katta sonlarni saralash algoritmlaridan foydalanib saralash metodlarini yarting
|
|
“Millayarderlar” classini yarating.
Maydonlar: FIO, yashash_manzili,boyligi,firmalari,yoshi.
Vector konteyneridan foydalanib boyligi bo’yicha saralang.
(kamida 30 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“Avtomobillar” classini yarating.
Maydonlari: Nomi, maksimal tezligi(km/s),narxi,rangi,quvvati,firmasi.
Array konteyneridan foydalanib narxi bo’yicha saralang. (kamida 35 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“Kompyuterlar” classini yarating.
Maydonlari: Protsessor chastotasi (MGts), yadro soni, operativ xotira hajmi (MB),
List konteyneridan foydalanib operativ xotira hajmi boyicha saralang.
(kamida 38 xonali sonalr ketma-ketligidan iborat bo‘lsin).
|
|
“Prizidentlar” classini yarating.
Maydonlari: FIO, qaysi_mamlakat_prezidenti,maoshi,jinsi;
Array konteyneridan foydalanib maoshi bo’yicha saralang. (kamida 32 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“Fotoapparatlar” classini yarating.
Maydonlari: Modeli, pixseli,narxi,hajmi.
Vector konteyneridan foydalanib pixseli bo’yicha saralang. (kamida 29 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“Talabalar” classini yarating.
Maydonlari: ismi,familyasi,manzili,kursi, fakultet, stependiyasi,.
Deque konteyneridan foydalanib stependiyasi bo’yicha saralang. (kamida 30 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“Tadbirkorlar” classini yarating.
Maydonlari FIO, yoshi,daromadi,hisob_raqami;
List konteyneridan foydalanib daromadi bo’yicha saralang. (kamida 40 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“Poezdlar” classini yarating.
Maydoni: nomi,uzunligi(sm),tezligi.
Vector konteyneridan foydalanib uzunligi bo’yicha saralang. (kamida 17 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“Kutubxona” classini yarating. Maydoni:nomi,mualifi,saxifalar_soni,janri
Array konteyneridan foydalanib saxifalar_soni bo’yicha saralang.
(kamida 33 xonali sonaar ketma-ketligidan iborat bo‘lsin).
|
|
“Samalyotlar” classini yarating. Maydoni: nomi,uzunligi(sm),tezligi.
List konteyneridan foydalanib uzunligi bo’yicha saralang. (kamida 40 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“Kinofilmlar” classini yarating.
Maydonlari: Nomlanishi, davomiyligi (minut da), aktyorlar soni.
Deque konteyneridan foydalanib davomiyligi bo’yicha saralang.
(kamida 29 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“Sovitgich” classini yarating.
Maydonlari: Marka, Model, Narx,bo’yi_sm, eni_sm.
Array konteyneridan foydalanib narxi bo’yicha saralang.
(kamida 37 xonali sonlar ketma-ketnligidan iborat bo‘lsin).
|
|
“Sportchilar” classini yarating.
Maydonlari: FIO, tug’ilgan yili, maoshi,spoet_turi.
List konteyneridan foydalanib maoshi bo’yicha saralang.
(kamida 36 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“Telefonlar” classini yarating. Maydonlari:
Modeli, Kamera (Mp), Xotira_xajmi(mb).
Array konteyneridan foydalanib xotira_xajmi bo’yicha saralang.
(kamida 39 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
|
“O’simliklar” classini yarating.
Maydonlari: Turi, uzunligi, yashash_sharoti,yashash_davomiyligi,rangi.
List konteyneridan foydalanib uzunligi bo’yicha saralang.
(kamida 45 xonali sonlar ketma-ketligidan iborat bo‘lsin).
|
Do'stlaringiz bilan baham: |