PrintTree(R->Left,L+3);
}
}
void TTree::View()
{
PrintTree(Root,1);
}
//-----------------------------
static void Search(Pitem& P,Tinfo X )
{
if(P==0){
cout<<"bunday element yuq"<
}else
if(X>P->Key)
Search(P->Right,X);
else if(X
Key)
Search(P->Left,X );
else
cout<<"Bunday element bor..."<
}
void TTree::Exist(Tinfo Key)
{
Search(Root,Key);
}
static void Node_Dispose(Pitem P)
{
if(P!=0){
if(P->Left!=0)
Node_Dispose(P->Left);
if(P->Right!=0)
Node_Dispose(P->Right);
delete P;
}
}
TTree::~TTree()
{
Node_Dispose(Root);
}
//------------------------------------------------------------
void inputKey(char S[128],Tinfo& Key)
{
cout<
cin>>Key;
}
TTree *Tree=new TTree;
int N;
Tinfo Key;
int main(int argc,const char* argv[] )
{
do{
cout<<"1-daraxtga element qoshish..."<>N;
switch(N){
case 1:{inputKey("qoshiluvchi element qiymatini
kiriting...",Key);
Tree->Add(Key);
};
case 2:{inputKey("uchiriladigan element qiymatini
kiriting...",Key);
istagan ",Key);Tree
Tree->Del(Key);
} break;
case 3:Tree->View();break;
case 4:{
inputKey("element kiriting,borligini
->Exist(Key);
} break; }
}while(!(N==5));
siz
bilishni
getch();
return EXIT_SUCCESS;
}
Natija:
1-topshiriq
1–variant. Avtobus parkidagi avtobus haqidagi dinamik ma’lumotlardan tashkil topgan dastur tuzing.
Har bir avtobus haqidagi ma’lumotlar quyidagilardan iborat:
Dastur quyidagilarni ta’minlab berishi kerak:
parkdagi barcha avtobuslar haqidagi dastlabki ma’lumotlarni ro’yxat ko’rinishida taqdim etish;
har bir avtobus parkdan chiqaѐtganda uning nomeri kiritiladi va u haqidagi ma’lumotlar parkdagi avtobuslar haqidagi ma’lumotlar ro’yxatidan chiqarilib, yo’nalishda bo’lgan avtobuslar haqidagi ma’lumotlar ro’yxatiga qo’shib qo’yish;
har bir avtobus yo’nalishdan parkka kirganda uning nomeri kiritiladi va u haqidagi ma’lumotlar yo’nalishda bo’lgan avtobuslar haqidagi ma’lumotlar ro’yxatidan parkdagi avtobuslar haqidagi ma’lumotlar ro’yxatiga qo’shib qo’yish;
so’rov bo’yicha parkda ѐki yo’nalishda bo’lgan avtobus haqidagi ma’lumotlarni chiqarish.
2–variant. Kutubxonada mavjud kitobning ayni vaqtdagi holati haqidagi ma’lumotlar bilan ishlovchi dastur yarating.
Har bir kitob quyidagi ma’lumotlardan tashkil topadi:
Kitobning kutubxonadagi miqdori;
Dastur quyidagilarni amalga oshirishi kerak:
kutubxonadagi barcha kitoblar haqidagi ma’lumotlarni ikkilik daraxt ko’rinishida tasvirlash;
kutubxonaga kelgan yangi kitob haqidagi ma’lumotlarni ro’yxatga qo’shish;
kutubxonadan chiqarib tashlangan kitob haqidagi ma’lumotlarni ro’yxatdan chiqarib tashlash;
so’rov bo’yicha kutubxonada mavjud kitoblar haqidagi ma’lumotlarni chiqarilgan yili bo’yicha tartiblab bosmaga chiqarish.
3–variant. Ayni vaqtdagi buyurtma berilgan aviabiletlar haqidagi ma’lumotlar bilan ishlovchi dastur tuzing.
Har bir buyurtma qilingan ma’lumotlar quyidagilagdan tashkil topadi:
belgilangan punkt (bo’lim);
Dastur quyidagilarni amalga oshirishi kerak:
barcha buyurtmalarni ro’yxat tarzida saqlash;
ro’yxatga yangi buyurtma qo’shish;
belgilangan reys nomeri va uchish vaqti bo’yicha buyurtmalarni chiqarish;
barcha buyurtmalarni chiqarish.
4–variant. Ayni vaqtdagi buyurtma berilgan aviyabiletlar haqidagi ma’lumotlar bilan ishlovchi dastur tuzing.
Har bir buyurtma qilingan ma’lumotlar quyidagilagdan tashkil topadi:
belgilangan punkt (bo’lim);
Dastur quyidagilarni amalga oshirishi kerak:
barcha buyurtmalarni ikkilik daraxt tarzida saqlash;
ro’yxatga yangi buyurtma qo’shish va o’chirish;
belgilangan reys nomeri va uchish vaqti bo’yicha ketma-ket o’chirilish tartibida bosmaga chiqarish;
barcha buyurtmalarni chiqarish.
5–variant. Kutubxonada mavjud kitobning ayni vaqtdagi holati haqidagi ma’lumotlar bilan ishlovchi dastur yarating.
Har bir kitob quyidagi ma’lumotlardan tashkil topadi:
Kitobning kutubxonadagi miqdori;
Dastur quyidagilarni amalga oshirishi kerak:
kutubxonadagi barcha kitoblar haqidagi ma’lumotlarni ro’yxat ko’rinishida tasvirlash;
kutubxonaga kelgan yangi kitob haqidagi ma’lumotlarni ro’yxatga qo’shish;
kitob kitobxonga berilganda uning UDK nomeri kiritiladi, dastur kutubxonada mavjud kitoblar sonini bittaga kamaytiradi ѐki so’ralgan kitob kutubxonada mavjud emasligi ѐki u qo’lda ekanligi haqida ma’lumot chiqarish;
kutubxonaga qaytgan kitobning UDK nomeri kiritiladi va dastur kitoblar ro’yxatini bittaga orttirish;
so’rov bo’yicha kutubxonada mavjud kitoblar haqidagi ma’lumotlarni chiqarish.
6–variant. Avtobus parkidagi avtobus haqidagi dinamik ma’lumotlardan tashkil topgan dastur tuzing.
Har bir avtobus haqidagi ma’lumotlar quyidagilardan iborat:
avtobusni parkda ѐki yo’nalishda ekanligini ifodalovchi
belgi.
Dastur quyidagilarni ta’minlab berishi kerak:
parkdagi barcha avtobuslar haqidagi dastlabki ma’lumotlarni ro’yxat ko’rinishida taqdim etish;
har bir avtobus parkdan chiqaѐtganda uning nomeri kiritiladi va dastur shu avtobus haqidagi ma’lumotlarga “avtobus yo’nalishda” belgisi qo’yiladi;
har bir avtobus parkka kirganda uning nomeri kiritiladi va dastur shu avtobus haqidagi ma’lumotlarga “avtobus parkda”
belgisi qo’yiladi;
so’rov bo’yicha avtobus parkda ѐki yo’nalishda ekanligi haqidagi ma’lumotlarni chiqarish.
7–variant. Libirentdan qidirish usuliga mo’ljallangan dastur yaratish. Labirent kvadratlardan iborat bo’lgan matrisa ko’rinishda ifodalangan. Har bir kvadrat ochiq ѐki ѐpiq bo’lishi mumkin. Yopiq kvadratga kirish taqiqlangan. Agar kvadrat ochiq bo’lsa unga kirish mumkin, faqat burchakdan emas. Har bir kvadrat matrisadagi koordinatasi bilan ifodalanadi.
Dastur labirent orqali belgilangan joydan kirish kerak. O’tish yo’li qidirilganidan so’ng, topilgan o’tish yo’li kvadratlarning koordinatalari ko’rinishida chiqariladi. Yo’llarni saqlash uchun stekdan foydalaning.
8–variant. Avtomobil to’xtash joyida bitta mashinalar turish chizig’idan iborat va u yagona kirishga va yagona chiqishga egadir. Avtomashina egalari ixtiѐriy vaqtda va joydan avtomashinalarini olib kirish hamda chiqib ketish imkoniyati yo’q. Endi avtomashina egasi o’z mashinasini to’xtash joyidan olib kirish ѐki chiqib ketishi uchun belgilangan tartibda amalga oshiradi.
Shunday dastur tuzish kerak-ki, dastur avtomashinalar to’xtash joyiga mashinani olib kirish va chiqish jaraѐnini modellashtirsin. Dasturni buyruq kiritish satriga ixtiѐriy avtomashina raqamini kiritilgandan uni to’xtash joyiga qachon krishi ѐki qachon chiqib ketishi haqida ma’lumot bersin. Ushbu jaraѐn navbat shaklida tashkil qilinsin.
9–variant. Egiluvchan magnit diskka ѐzishni modellashtiruvchi dastur yarating. Diskdagi umumiy hajm 360 Kbayt. Fayllar 18 baytdan 32 Kbaytgacha bo’lgan oraliqdagi ixtiѐriy uzunlikka ega. Fayllar ishlatilish jaraѐnida diskka ѐzilishi ѐki o’chirilishi mumkin.
Dastlab fayllar bir tekisda, ketma ket ѐziladi. Diskdan fayl o’chirilgach o’rnida bo’shliq hosil bo’ladi va yangi ѐzilaѐtgan fayl shu bo’shliqqa sig’sa u shu yerga ѐziladi. Aks holda yangi fayl diskdagi eng oxirida ѐzilgan fayldan keyingi o’ringa ѐziladi.
Agar fayl hajmi eng katta bo’sh joydan ortib ketsa halokat xabari beriladi. Faylni ѐzish ѐki o’chirish jaraѐnida buyruqlar satrida fayl nomi, uning uzunligi (baytlarda) va ѐzish ѐki o’chirish kerakligi haqidagi belgini kiritish talab etiladi. Dastur so’rov asosida diskdagi bo’sh joy haqida ma’lumot berishi kerak.
Ko’rsatma: diskdagi bo’sh va band xotira joylari ro’yxatini tuzib chiqish kerak bo’ladi.
10–variant. Fayl tizimida fayllar kataloglari chiziqli ro’yxat ko’rinishida tasvirlangan.
Har bir fayl uchun katalogda quyidagi ma’lumotlar mavjud:
Dastur quyidagilarni amalga oshirishi kerak:
fayl katalogining dastlabki formasi;
fayl katalogini chiqarish;
yaratilgan vaqti ko’rsatilgan vaqtdan kichik bo’lgan fayllarni
o’chirish;
fayllarni ko’proq murojaat qilinganligi bo’yicha tanlash.
Dastur menyu ѐrdamida ishlashi va kiritish jaraѐnidagi xatoliklarni nazorat qilishi kerak.
11–variant. Bir nechta dasturlar uchun ѐrdamchi matnlar chiziqli ro’yxat ko’rinishida tashkil etilgan. Har bir ѐrdamchi matn komponentasi termin (so’z) va shu terminni tushuntiruvchi matndan tashkil topgan. Bir terminga bog’langan matn satrlari soni birdan beshtagacha bo’lishi mumkin.
Dastur quyidagilarni amalga oshirishi kerak:
ѐrdamchi matnning dastlabki tuzilishi;
ѐrdamchi matnni chiqarish;
kiritilgan termin bo’yicha tushintiruvchi matnni chiqarish.
Dastur menyu ѐrdamida muloqot qilish va kiritish vaqtidagi xatoliklarni nazorat qilishi kerak.
12–variant. Kvartira ayirboshlash byurosida kartoteka chiziqli ro’yxat tarzida tashkil etilgan. Har bir kvartira haqidagi ma’lumotlarga quyidagilar kiradi:
Dastur quyidagilarni amalga oshirishi kerak:
katalogning dastlabki formirovkasi;
ayirboshlash uchun ariza qabul qilish;
kartotekalar ichidan keraklisini topish: xonalar soni va qavati mos kelgan va maydoni orasidagi farq 10% bo’lgan kvartiralarni chiqarish va ro’yxatdan o’chirish. Aks holda arizani ro’yxatga qo’shib qo’yish;
barcha ro’yxatlarni chiqarish.
Dastur menyu ѐrdamida muloqot qilish va kiritish vaqtidagi xatoliklarni nazorat qilishi kerak.
13–variant. Inglizcha-ruscha lug’at ikkilik daraxt ko’rinishida tashkil etilgan. Har bir komponenta inglizcha so’zdan va shu so’zga mos keluvchi ruscha so’zlardan shu bilan birga shu komponentaga qilingan murojaatlar sonidan tashkil topgan. Dastavval daraxt ingliz alfaviti tarzida tartiblangan. Qo’llanilish vaqtida har bir komponentaga qilingan murojaat uning schetchigini bittaga oshiradi. Dastur quyidagilarni amalga oshirishi kerak:
aniq bir murojaatlar soni bilan keltirilgan lug’atning dastlabki holatini ta’minlash;
quyidagi algoritm asosida lug’atni quyidagi tarzda tashkil qilsin:
a) eski lug’atdan schetchik eng yuqori qo’yilgan komponentani qidirish;
b) topilgan komponenta yangi lug’atga keltiriladi va eskisi o’chiriladi;
v) toki chiquvchi lug’at vujudga kelmaguncha dastlabki a) bo’limga
o’tish.
chiquvchi va yangi lug’atni chiqarish.
Dastur menyu ѐrdamida muloqot qilish va kiritish vaqtidagi xatoliklarni nazorat qilishi kerak.
14–variant. Aholining so’rov anketasi ikki xil so’rovlar guruhidan iborat.
Birinchi guruh respondent haqidagi ma’lumotlardan tashkil topgan:
ma’lumoti (boshlang’ich, o’rta, yuqori).
Ikkinchi guruh anketaning maxsus savollaridan tashkil topgan, bu savollarga faqat “HA” ѐki “YO’Q” deb javob berish kerak bo’ladi.
Dastur quyidagilarni amalga oshirishi kerak:
anketalarning dastlabki shaklidan chiziqli ro’yxat tashkil etish;
anketalar tahlili asosida quyidagi savollarga javob topilishi kerak: a) 40 ѐshdan katta bo’lgan oliy ma’lumotli erkaklardan nechtasi anketa savollariga “HA” deb javob berdi; b) 30 ѐshdan kichik o’rta ma’lumotli bo’lgan aѐllardan nechtasi anketa savollariga “YO’Q” deb javob berdi; v) 25 ѐshdan kichik boshlang’ich ma’lumotga ega bo’lgan erkaklardan nechtasi anketa savollariga “HA” deb javob berdi;
barcha anketa va savollarga javoblarni chiqarish.
Dastur menyu ѐrdamida muloqot qilish va kiritish vaqtidagi xatoliklarni nazorat qilishi kerak.
15–variant. Kutubxonada mavjud kitobning ayni vaqtdagi holati haqidagi ma’lumotlar bilan ishlovchi dastur yarating. Har bir kitob quyidagi ma’lumotlardan tashkil topadi:
Kitobning kutubxonadagi miqdori;
Dastur quyidagilarni amalga oshirishi kerak:
kutubxonadagi barcha kitoblar haqidagi ma’lumotlarni ro’yxat ko’rinishida tasvirlash;
kutubxonaga kelgan yangi kitob haqidagi ma’lumotlarni ro’yxatga qo’shish;
chiqarib tashlangan kitob haqidagi ma’lumotlarni o’chirib tashlash;
so’rov bo’yicha kutubxonada mavjud kitoblar haqidagi ma’lumotlarni nashr etilgan sanasi bo’yicha tartiblab chiqarish.
16–variant. Xalqaro telefon stansiyasida abonent kartotekasi telefon nomer va shu nomer egasi haqidagi ma’lumotlar bilan chiziqli ro’yxat tarzida tashkil etilgan. Dastur quyidagilarni amalga oshirishi kerak bo’ladi:
barcha kartotekalarni chiqarishni amalga oshirish;
telefon nomeri va suhbat vaqtini kiritish;
telefon muloqoti uchun to’lovni amalga oshirish uchun chiqarish.
Dastur menyu ѐrdamida muloqot qilish va kiritish vaqtidagi xatoliklarni nazorat qilishi kerak.
17–variant. Xalqaro telefon stansiyasida abonent kartotekasi telefon nomer va shu nomer egasi haqidagi ma’lumotlar bilan ikkilik
daraxt ko’rinishida tashkil etilgan. Dastur quyidagilarni amalga oshirishi kerak bo’ladi:
kartotekani dastlabki formasini ikkilik daraxt ko’rinishida tashkil etish;
barcha kartotekalarni chiqarishni amalga oshirish;
telefon nomeri va suhbat vaqtini kiritish;
telefon muloqoti uchun to’lovni amalga oshirish uchun chiqarish.
Dastur menyu ѐrdamida muloqot qilish va kiritish vaqtidagi xatoliklarni nazorat qilishi kerak.
18–variant. Temir yo’l vokzalining avtomatlashtirilgan tizimi poyezdlar jo’nashi haqidagi ma’lumotlardan tashkil topgan. Har bir poyezd quyidagi ma’lumotlarga ega:
Axborot tizimida axborotlar chiziqli ro’yxat tarzida tashkil etilgan.
Dastur quyidagilarni amalga oshirishi kerak bo’ladi:
axborot tizimiga dastlabki ma’lumotlarni kiritish va ularni chiziqli ro’yxat tarzida tashkil etish;
barcha ro’yxatni chiqarish;
poyezd nomeri kiritish va shu poyezdga tegishli barcha ma’lumotlarni chiqarish;
ko’zlangan bekat nomini kiritish va shu bekatga kelishi kerak bo’lgan poyezd haqidagi ma’lumotlarni chiqarish.
Dastur menyu ѐrdamida muloqot qilish va kiritish vaqtidagi xatoliklarni nazorat qilishi kerak.
19–variant. Temir yo’l vokzalining avtomatlashtirilgan tizimi poyezdlar jo’nashi haqidagi ma’lumotlardan tashkil topgan. Har bir poyezd quyidagi ma’lumotlarga ega:
Axborot tizimida axborotlar ikkilik daraxt tarzida tashkil etilgan.
Dastur quyidagilarni amalga oshirishi kerak bo’ladi:
axborot tizimiga dastlabki ma’lumotlarni kiritish va ularni ikkilik daraxt tarzida tashkil etish;
barcha ro’yxatni chiqarish;
poyezd nomeri kiritish va shu poyezdga tegishli barcha ma’lumotlarni chiqarish;
ko’zlangan bekat nomini kiritish va shu bekatga kelishi kerak bo’lgan poyezd haqidagi ma’lumotlarni chiqarish.
Dastur menyu ѐrdamida muloqot qilish va kiritish vaqtidagi xatoliklarni nazorat qilishi kerak.
20–variant. Quyidagi ishlarni bajaruvchi prosedura ѐki funksiyani ѐzing:
Ye parametrga bo’sh bo’lmagan T daraxtning eng chapda joylashgan bargining ѐzuvi o’zlashtirilsin;
Ye ѐzuvni T daraxtga kiritilish sonini aniqlash.
21–variant. Daraxt tugunlari haqiqiy sonlar bo’lsin. Quyidagi ishlarni bajaruvchi prosedura ѐki funksiyani ѐzing:
daraxt barcha tugunlarini o’rta arifmetik qiymatini hisoblash;
qiymati yuqoridagi prosedura(funksiya)da hosil bo’lgan songa teng elementni daraxtga qo’shish.
22–variant.Daraxt tugunlari ѐzuvi – haqiqiy sonlar bo’lsin. Yozuvi manfiy bo’lgan daraxt tugunlarini o’chiruvchi prosedura tuzing.
23–variant. Daraxt tugunlari ѐzuvi – haqiqiy sonlar bo’lsin.
Quyidagi ishlarni bajaruvchi prosedura ѐki funksiyani ѐzing:
bo’sh bo’lmagan darxtda ѐzuv qiymati maksimal ѐki minimal bo’lgan tugunlarni topish;
daraxtning barcha barglari ѐzuvini chop etuvchi.
24–variant. Quyidagi ishlarni bajaruvchi prosedura ѐki funksiyani ѐzing:
daraxt tuguni ѐzuvi Ye bo’lgan element T daraxtga tegishli ѐki tegishli emasligini aniqlash;
agar bunday ѐzuv topilmasa, uni daraxtga qo’shish.
Do'stlaringiz bilan baham: