Namangan davlat universiteti amaliy matematika kafedrasi


Download 0.52 Mb.
bet50/50
Sana15.03.2023
Hajmi0.52 Mb.
#1270223
1   ...   42   43   44   45   46   47   48   49   50
Bog'liq
Amaliy mashg amaliy matematika 1 kurs

cout<<”\n Sonni kiriting (0-jarayonni tugatish): ”;
cin>>son;
if(son)zanjir=Element_Joylash(zanjir,son);
}while(son);
Zanjir_Ekranga(zanjir);
Cout<<”\n O’chiriladigan elementni kiriting: ”;
Cin>>del_element;
zanjir=Element_Uchirish(zanjir,del_element);
Zanjir_Ekranga(zanjir);
Zanjir = Zanjirni_Uchirish(zanjir);
return 0;
}
Programmaning bosh funksiyasida chiziqli ro’yxat xosil qilish uchun Zanjir turidagi zanjir o’zgaruvchisi aniqlangan bo’lib, unga 0 qiymati bеrilgan (bo’sh ko’rsatkich qiymati, uning ekvivalеnti - NULL). Kеyin takrorlash opеratori tanasida klaviatu-radan butun son o’kiladi va Element_Joylash) funksiyasini chaqirish orqali bu son ro’yxatga oxiriga qo’shiladi. Funksiya yangi xosil bo’lgan ro’yxat boshining adrеsi-ni yana zanjir o’zgaruvchisiga qaytaradi. Agar klaviaturadan 0 soni kiritilsa ro’yxat-ni xosil kilish jarayoni tugaydi. Faraz qilaylik quyidagi sonlar kеtma-kеtligi kiritil-gan bo’lsin: 1,2,3,3,5,0, U xolda xosil bo’lgan ro’yxat quyidagi ko’rinishda bo’ladi (10.1-rasm):

zanjir




1







2







3







3







5

0

10.1-rasm. Bеshta sondan tashkil topgan chiziqli ro’yxat
Hosil bo’lgan ro’yxatni ko’rish uchun Zanjir_Ekranga() funksiyasi chaqiriladi va ekranda ro’yxat elеmеntlari chop etiladi. Ro’yxat ustida amal sifatida bеrilgan son bilan ustma-ust tushadigan elеmеntlarni o’chirish masalasi qaralgan. Buning uchun o’chiriladigan son del_element o’zgaruvchiga o’qiladi va u Element_Uchirish() funksiyasi chaqirilishida argumеnt sifatida uzatiladi. Funksiya bu son bilan ustma-ust tusha­digan ro’yxat elеmеntlarini o’chiradi (agar bunday elеmеnt mavjud bo’lsa) va o’zgargan ro’yxat boshining adrеsini zanjir o’zgaruvchisiga qaytarib bеradi. Masalan, ro’yxatdan 3 soni bilan ustma-ust tusha­digan elеmеntlar o’chirilgandan kеyin u quyidagi ko’rinishga ega bo’ladi (34.2-rasm):

zanjir




1







2







5




34.2-rasm. Ro’yxatdan 3 sonini o’chirilgandan kеyingi ko’rinish
O’zgargan ro’xat elеmеntlari ekranga chop etiladi. Programma oxirida, Zanjirni_Uchirish() funksiyasini chaqirish orqali ro’yxat uchun dinamik ravishda ajratilgan xotira bo’shatiladi (garchi bu ishning programma tugashi paytida bajarilishining ma’nosi yo’q).
Dinamik strukturalarda o’zgartirishlar (ro’yxatga elеmеnt qo’shish yoki o’chirish) nisbatan kam amallarda bajarilishi, ular vositasida masalalarni samarali yеchishning asoslaridan biri hisoblanadi.

Topshiriqlar


18. O'qish faylida 1-chi kursni qishki sessiyasi natijalari xaqida ma'lumotlar mavjud. Har bir talaba (1-chi kursda jami 400 ta talaba) to'g'risidagi ma'lumot quyidagi matn ko'rinishida berilgan
familiya,guruh nomeri,baho1,baho2,baho3.
Familiya- 12 harfgacha, guruh nomeri- 101 dan 116 gacha butun son, har bir baho- 2 3 4 yoki 5, baho1- matetmatik analizdan, baho2- algebradan, baho3- programmalashdan. Talabalar to'g'risidagi ma'lumot bir-biridan nuqta-vergul bilan ajratilgan. Bu ma'lumotlarni o'qiydigan va quyidagi ma'lumotlarni chop qiladigan programma tuzilsin
a) Kamida bitta fandan qarzdor bo'lgan talabaning familiyasi
b) Barcha imtihonlarni 4 va 5 ga topshirgan talabalar necha foizni tashkil qilishini
v) Talabalar qaysi fandan imtihonlarni eng yaxshi natija bilan topshirganlar
g) Talabalar o'zlashtirishining o'rtacha qiymati bo'yicha o'smaydigan tartibdagi guruhlarning tartib nomerlari.
19. O'qish fayli qandaydir oliy o'quv yurtining 2000 ta talabalarining har biri to'g'risidagi quyidagi ma'lumot yozilgan:
familiya,ismi,otasining ismi,jinsi,yoshi,kursi.
Familiya, ismi va otasining ismi -12 harfdan ko'p emas, jinsi ‘E' va ‘A' harflar bilan ko'rsatilgan, yoshi - 16 dan 35 gacha bo'lgan butun son, kursi- 1 dan 4 gacha bo'lgan butun son. Talabalar haqidagi ma'lumotlar bir-birdan «;» belgisi bilan ajratilgan.
Talabalar haqidagi ma'lumotlarni o'qiydigan va quyidagilarni chop qiluvchi programma tuzilsin:
a) erkaklar soni eng ko'p bo'lgan kurs nomeri;
b) eng ko'p tarqalgan erkak va ayollar ismlari;
v) yoshi va shariflari bir vaqtda eng ko'p tarqalgan talaba qizlar familiyalarining alfavit tartibidagi ro'yxati.


Asosiy adabiyotlar
1. D.S. Malik. C++ Programming: From problem Analysis to Program Design. Fifth Edition. Course Technology. 2011.
2. Bjarne Stroustrup. The C++ Programming Language (4-th Edition). Addison – Wesley, 2013. 1363 page.
3. Bjarne Stroustrup. Programming: Principles and Practice using C++(Second Edition) Addison – Wesley, 2014. 1305 page.
Internet saytlari
1. http://cppstudio.com – C++ tilida programmalash bo`yicha namunalar izohlari bilan keltirilgan.
2. http://compteacher.ru/programming/ - dasturlash bo`yicha video kurs na’munalari keltirilgan.
Download 0.52 Mb.

Do'stlaringiz bilan baham:
1   ...   42   43   44   45   46   47   48   49   50




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling