1. Sintaksisga kirish Dastur yaratish muhiti



Yüklə 1,17 Mb.
səhifə30/34
tarix19.09.2022
ölçüsü1,17 Mb.
#63802
1   ...   26   27   28   29   30   31   32   33   34
1 kurslarga moljallangan Dasturlash 2 fanidan C Builder muhitida (2)

Yechish

Shakl


Mazkur dasturning shaklida ro‘yxatning mazmunini ekranga chiqarish uchun maydon va element qo‘shish, elementni o‘chirish, barcha elementlarni aks ettirish yoki o‘chirish imkonini beruvchi barcha funksional tugmachalar joylashgan bo‘lishi kerak. Satrlarni chiqarish maydonini ma’noli birlashtirish maqsadida yangi element uchun «Dobavit» tugmachasi bilan birga shu tugmachaga mos nomli, ham kiritish maydoni, ham tugmachadan iborat guruh tuzilgan.



Ikki yo‘nalishli ro‘yxat sxemasi

Bu yerda uchta elementdan iborat ikki yo‘nalishli ro‘yxat sxemasi keltirilgan.



Navbatdagi sxemada ro‘yxat ichiga element qo‘yish sxemasi ko‘rsatilgan.





Bu dasturda elementni qo‘yish ro‘yxatning eng oxiriga qo‘yish bilan amalga oshiriladi. Ammo u o‘rtaga qo‘yishdan prinsipial farq qilmaydi. Tabiiyki, ro‘yxatga yangi element qo‘shishda orientatsiya uchun orientr maqsadida ro‘yxatning biror elementi olinadi va undan oldin yoki keyin qo‘yish amalga oshiriladi. Mazkur dasturda qo‘yish tanlangan ob’yektdan keyin amalga oshiriladi. Qo‘yishda quyidagi amallar ketma-ketligi bajariladi:

  1. Qo‘yilayotgan elementning prev xossasiga tanlangan elementning (undan keyin qo‘yish amalga oshiriladigan element) qiymati o‘zlashtiriladi.

  2. Qo‘yilayotgan elementning next xossasiga tanlangan elementning next xossasining qiymati o‘zlashtiriladi.

  3. Manzili tanlangan elementning next xossasini saqlovchi elementning prev xossasiga yangi element manzilining qiymati o‘zlashtiriladi.

  4. Tanlangan elementning next xossasiga yangi element manzilining qiymati o‘zlashtiriladi.

Mazkur dasturda qo‘yish manzili w ko‘rsatkichda berilgan elementdan keyin amalga oshiriladi.


List * n q new List; // Yangi element hosil qilish


n->prev q w; // 1 - amal
n->next q w->next; // 2 - amal
if (w->next) {w->next->prev q n;} // 3 - amal
w->next q n; // 4 - amal
n->Data q data; // funksional elementni initsializatsiya qilish

Qo‘yish har doim so‘nggi elementdan bajarilganligi uchun w->next ning qiymati har doim nol bo‘ladi, ya’ni 3-amal hech qachon bajarilmaydi, shuning uchun uni tushirib qoldirish mumkin. Dasturning asosiy kodida bu amal tushirib qoldirilgan.



Yüklə 1,17 Mb.

Dostları ilə paylaş:
1   ...   26   27   28   29   30   31   32   33   34




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin