• Dastur kodi
  • Dastur bajarilishi natijasi
  • Nazorat savollari
  • “Dasturiy injiniring” fakulteti “MA‟lumotlar tuzilmasi va algoritmlar”




    Download 1,33 Mb.
    Pdf ko'rish
    bet27/56
    Sana18.05.2024
    Hajmi1,33 Mb.
    #242340
    1   ...   23   24   25   26   27   28   29   30   ...   56
    Bog'liq
    b2d1fe5c-9484-4aea-a5e7-95281604b19a

    Ishni bajarishga namuna 
    Topshiriq variantlariga o‟xshash bitta misolni yechish dasturini ko‟rib 
    chiqamiz. Quyidagicha masala qo‟yilgan bo‟lsin. Ro‟yhatning maksimal elementi 
    topilsin. Ushbu masalaning algoritmi, dasturiy kodi va natijasi quyida keltirilgan. 
    Algoritm 
    1.
     
    Ekranga menyu chiqaramiz: 1 - 
    element qo’shish; 2 - ro’yhatni ko’rish;
    3 - ro’yhat maksimalini topish; 0 - chiqish; 
    tanlash uchun 
    tanla 
    o‟zgaruvchisiga 
    qiymat so‟raymiz. 2-qadamga o‟tish.
     
    2.
    Agar 
    tanla
    =1 bo‟lsa, 3-qadamga, 2 ga teng bo‟lsa, 4-qadamga, 3 tanlansa, 
    6-qadamga o‟tish, 0 tanlansa dasturni yakunlash. 
    3.
    Navbatdagi elementni yaratish p; (p ning info maydoniga qiymat so‟rab 
    olib yozish va ptr maydoniga NULL yozish) Agar ro‟yhat boshi ko‟rsatkichi 
    lst=NULL bo‟lsa, lst=p va last=p; aks holda last – ro‟yhat oxirgi elementi ptr 
    maydoniga p ni yozib, p elementni last qilib belgilaymiz. 1-qadamga o‟tamiz. 
    4.
    Agar lst NULL ga teng bo‟lsa, ro‟yhat bo‟shligini ekranga chiqarib,
    1-qadamga o‟tish. Aks holda, p=lst va 5-qadamga o‟tish. 
    5.
    Agar p ning ptr maydoni NULL bo‟lmasa, p ning info maydonini ekranga 
    chiqaramiz va keyingi elementga o‟tamiz, ya‟ni p=p->ptr, 5-qadamga o‟tamiz, aks 
    holda, 1-qadamga o‟tamiz. 
    6.
    max=lst->info, ya‟ni max o‟zgaruvchisiga ro‟yhat 1-elementi info 
    maydoni qiymatini o‟zlashtiramiz. p=lst va 7-qadamga o‟tish. 


    57 
    7.
    Agar p NULL ga teng bo‟lmasa, 8-qadamga o‟tamiz, aks holda max ni 
    ekranga chiqaramiz va 1-qadamga o‟tamiz. 
    8.
    Agar max< p->info bo‟lsa, max=p->info. Keyingi elementga o‟tamiz, 
    ya‟ni p=p->ptr. 7-qadamga o‟tamiz.
    Dastur kodi 
    #include  
    using namespace std; 
    class Node{ 
    public: int number; 
    Node* next; 
    }; 
    int main() 
    { Node* head = NULL; 
    Node* lastPtr = NULL; 
    short action = -1; 
    while (1) 
    { cout<<"1. element qo’shish\n"; 
    cout<<"2. ro’yhatni ko’rish\n"; 
    cout<<"3. ro’yhat maksimalini topish\n"; 
    cout<<"0. chiqish\n\n"; 
    cout<<"tanlang: "; 
    cin>>action; 
    if (action == 0) { 
    system("CLS"); 
    break;} 
    if (action == 1) 
    { system("CLS"); 
    Node* ptr = new Node; 
    int numb = -1; 
     


    58 
    cout<<"son kiriting: "; 
    cin>>numb; 
    ptr->number = numb; 
    ptr->next = NULL; 
    if (head == 0) 
    { head = ptr; 
    lastPtr = ptr; 
    system("CLS"); 
    continue; 

    lastPtr->next = ptr; 
    lastPtr = ptr; 
    system("CLS"); 
    continue; 

    if (action == 2){ 
    Node* ptr = NULL; 
    system("CLS"); 
    if (head == 0) 
    { cout<<"\t!!! ro’yhat bo’sh !!!\n\n"; 
    system("PAUSE"); 
    system("CLS"); 
    continue; 

    cout<<"* * * * * ro’yhat * * * * *\n\n"; 
    ptr = head; 
    while (1) { 
    cout<
    number<<" "; 

    if (ptr->next == 0) break; 



    59 
     ptr = ptr->next; 

    cout<<"\n\n"; 
    system("PAUSE"); 
    system("CLS"); 
    continue; 

    if (action == 3) 

    system("CLS"); 
    Node* p = head; 
    Node* q = new Node; 
    Node* last = new Node; 
    int max=p->number; q=head; 
    while(p){ 
    if(max
    number){ max=p->number;} 

    p=p->next; 

    system("CLS"); 
    cout<<"max="<
    system("pause"); 
    continue; 

    }} 
    Dastur bajarilishi natijasi 
    1.
     
    element qo’shish 
    2.
     
    ro’yhatni ko’rish 
    3.
     
    ro’yhat maksimalini topish 
    0.
     
    chiqish 
    tanlang:1


    60 
    {1,2,3,55,4,6} sonlari kiritildi. 2-holat tanlanganda natija: 
    *****ro’yhat***** 
    1 2 3 55 4 6

    3-holat tanlanganda natija:
     
    max=55 
    Nazorat savollari 
     
    1.
    Dinamik ma‟lumotlar tuzilmasi nima va uning statik tuzilmalardan 
    afzalligini tushuntiring? 
    2.
    Ro‟yhat tuzilmasi nima va ro‟yhatning qanday turlarini bilasiz? 
    3.
    Ro‟hat tuzilmasini dasturda ifodalash qanday amalga oshiriladi? 
    4.
    Ro‟hat tuzilmasi ustida amal bajarish algoritmlarini tushuntiring 
    5.
    Ikki bog‟lamli ro‟yhat nima va uni bir bog‟lamli ro‟hatdan afzalligi va 
    kamchiligini tushuntiring. 
     
    Topshiriq 
    Variantlar: 
    1.
    Elementni n pozitsiyaga siljitish dasturini tuzing. 
    2.
    Ro‟yhat nusxasini yarating. 
    3.
    Ro‟yhat boshiga element qo‟yish. 
    4.
    Ikkita ro‟yhat birlashtirilsin. 
    5.
    Ro‟yhatning n-inchi elementi o‟chirilsin. 
    6.
    Ro‟yhat n-inchi elementidan keyin yangi element qo‟yilsin. 
    7.
    Ikkita ro‟yhat umumiy elementlaridan tashkil topgan ro‟yhat yaratilsin. 
    8.
    Ro‟yhat elementlari o‟sish tartibida joylashtirilsin. 
    9.
    Ro‟yhat har ikkinchi elementi o‟chirilsin. 
    10.
    Ro‟yhat har uchinchi elementi o‟chirilsin. 
    11.
    Ro‟yhat elementlari kamayish tartibida joylashtirilsin. 
    12.
    Ro‟yhat tozalansin. 


    61 
    13.
    Futbol jamosining 20 ta o‟yinchilari familiyalaridan tashkil topgan 
    halqasimon ro‟yhat berilgan. O‟yinchilar 2 ta guruhga 10 tadan ajratilsin. Ikkinchi 
    guruhga umumiy o‟yinchilarni har 12-inchisi kirsin. 
    14.
    Sportchi familiyalaridan tashkil topgan ikkita halqasimon ro‟yhat 
    berilgan. Qura tashlash amalga oshirilsin. Birinchi guruhdagi har n-inchi sportchi, 
    ikkinchi guruhdagi har m-inchi sportchi bilan raqib bo‟lsin. 
    15.
    Lotoreya ishtirokchilari familiyalari va mukofotlar nomlaridan tashkil 
    topgan 2 ta halqasimon ro‟yhat berilgan. N ta ishtirokchi g‟olib bo‟lsin (har K-
    inchi). Mukofotlarni qayta hisoblash soni - t. 
    16.
    O‟quvchilar familiyalari va imtihon biletlari raqamlaridan tashkil topgan 
    2 ta halqasimon ro‟yhat berilgan. O‟quvchilar tomonidan olingan bilet raqamlari 
    aniqlansin. Imtihon biletlari uchun qayta hisoblash soni - E, o‟quvchilar uchun esa 
    - K.
    17.
    Mahsulot nomlaridan tashkil topgan ro‟yhat berilgan. Ro‟yhat 
    elementlaridagi SONY firmasida ishlab chiqilgan mahsulotlardan tashkil topgan 
    yangi ro‟yhat yarating. 
    18.
    2 ta guruh talabalari familiyalaridan tashkil topgan 2 ta ro‟yhat berilgan. 
    Birinchi guruhdan L ta talaba ikkinchi guruhga o‟tkazilsin. Qayta hisoblashlar soni 
    - K. 
    19.
    BOSCH va PHILIPS konsernlari tomonidan ishlab chiqilgan mahsulot 
    nomlaridan tashkil topgan ikkita ro‟yhat berilgan. Har ikkala firma tomonidan 
    ishlab chiqilgan bir xil mahsulotlar ro‟yhati tuzilsin. 
    20.
    Futbol jamoasining asosiy va zahira tarkibi o‟yinchilari familiyalaridan 
    tashkil topgan ikkita ro‟yhat berilgan. K ta o‟yinchi almashtirilsin. 
    21.
    1- va 2-vzvod askarlari familiyalaridan tashkil topgan ikkita ro‟yhat 
    berilgan. Hujum natijasida 1-chi vzvoddan M ta askar halok bo‟ldi. Ikkinchi vzvod 
    askarlaridan birinchi vzvod to‟ldirilsin. 
    22.
    Mahsulot nomlari va xaridorlar familiyalaridan tashkil topgan ikkita 
    ro‟yhat berilgan. Har bir N-chi xaridor M-chi mahsulotni sotib oladi. Xarid


    62 
    qilingan mahsulotlar ro‟yhatini chiqaring. 
    23.
    SONY va SHARP firmalari tomonidan ishlab chiqilgan mahsulot 
    nomlaridan tashkil topgan ikkita ro‟yhat berilgan. O‟zaro raqobat qiluvchi 
    mahsulotlar ro‟yhatini tuzing. 
    24.
    Talabalar ismlaridan iborat ro‟yhat berilgan. Ismining uzunligi eng katta 
    bo‟lgan talabani ro‟yhat boshiga joylang. 
    25.
    Talabalar familiyalaridan iborat halqasimon ro‟yhat berilgan. Har k-inchi 
    talabadan 3 tasi ro‟yhatdan ajratib olinsin. 
    26.
    Talabalar ismlaridan iborat massiv elementlarini berilgan halqasimon 
    ro‟yhatning har k-elementidan keyin joylashtiring. 
    27.
    2 ta halqasimon ro‟yhatni galma-galdan har 3-elementidan umumiy bitta 
    yangi ro‟yhat hosil qiling. 
    28.
    2 ta ro‟yhatning bir xil qiymatli elementlaridan yangi halqasimon ro‟yhat 
    yarating. 
    29.
    2 ta ro‟yhatning bir xil qiymatli elementlarini ro‟yhat boshiga o‟tkazing. 
    30.
    2 ta ro‟yhatning bir xil qiymatli elementlarini ro‟yhat oxiriga 
    joylashtiring. 


    63 

    Download 1,33 Mb.
    1   ...   23   24   25   26   27   28   29   30   ...   56




    Download 1,33 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    “Dasturiy injiniring” fakulteti “MA‟lumotlar tuzilmasi va algoritmlar”

    Download 1,33 Mb.
    Pdf ko'rish