• Dastur kodi
  • 2.4. Deklar Dek so„zi
  • C++ tilida dekni statik ko „ rinishda, ya’ni bir o „ lchamli massiv ko „ rinishida
  • Algoritm  1. Agar stek to„lmagan bo„lsa elementlarni kiritamiz. Stekning toq  elementlarini saqlab turish uchun yangi  b[]




    Download 1,33 Mb.
    Pdf ko'rish
    bet21/56
    Sana18.05.2024
    Hajmi1,33 Mb.
    #242340
    1   ...   17   18   19   20   21   22   23   24   ...   56
    Bog'liq
    b2d1fe5c-9484-4aea-a5e7-95281604b19a

    Algoritm 
    1.
    Agar stek to„lmagan bo„lsa elementlarni kiritamiz. Stekning toq 
    elementlarini saqlab turish uchun yangi 
    b[]
    massiv e‟lon qilamiz. 
    2.
    Agar stek bo„sh bo„lmasa, 3-qadamga o„tish, aks holda 4-qadamga o„tish. 
    3.
    Stek uchidagi elementni olamiz va juftlikka tekshiramiz. Agar element toq 
    bo„lsa b massivga joylaymiz. 2-qadamga o„tish.
    4.
    b massiv elementlarini teskari tartibda stekka joylash. 
    5.
    Stek tarkibini ekranga chiqarish. 
    Dastur kodi 
    #include  
    using namespace std; 
    int a[10],R=0,n;//bu yerda n stekka kiritilishi kerak bo'lgan elementlar soni. 
    int kiritish(int s){ 
    a[R]=s; R++; 

    int chiqarish(){ 
    R--;
    return a[R];

    bool isEmpty(){ 
    if(R==0) return true


    40 
    else return false

    bool isFull(){ 
    if(R>=10) return true;else return false; 

    int print(){ 
    int i=0,c[n]; 
    while(!isEmpty()){ 
    c[i]=chiqarish(); 
    cout<
    for(int j=i-1;j>=0;j--) kiritish(c[j]); 

    int main(){ 
    int n,s; 
    cout<<"n=";cin>>n; 
    for(int i=0;i
    if(!isFull()){ 
    cin>>s; 
    kiritish(s);} 
    else{cout<<"stek to'ldi"; n=i;break;} 

    cout<<"\nstek elementlari: "; 
    print(); 
    int b[n],k=0; 
    for(int i=0;i
    s=chiqarish(); 
    if(s%2!=0) b[k++]=s; 

    for(int i=k-1;i>=0;i--) kiritish(b[i]); 



    41 
    cout<<"\nnatijaviy stek elementlari: "; 
    print(); 
    system("PAUSE"); 

    Dasturning bajarilishi natijasi: 
    n =5 




    11 
    stek elementlari: 11 8 9 7 6 
    natijaviy stek elementlari: 11 9 7 
     
    2.4. Deklar 
     
    Dek so„zi
     
    (
    DEQ
    - Double Ended Queue) ingliz tilidan olingan bo„lib 2 ta 
    chetga ega navbat degan ma‟noni bildiradi. Dekning o„ziga xos xususiyati shuki, 
    unga elementlar har ikkala tomondan – chapdan va o„ng tomondan kiritilishi va 
    chiqarilishi mumkin (2.3-rasm). 
    2.3-rasm. Dek tuzilmasi 
     
    Dek ustida bajariladigan amallar: 
     
    1. 
    Chapdan element kiritish. 
    2. 
    O„ngdan element kiritish. 
    3. 
    Chapdan element chiqarish. 


    42 
    4. 
    O„ngdan element chiqarish. 
    5. 
    Dek bo„shligini tekshirish. 
    6. 
    Dek to„laligini tekshirish. 
    C++ tilida dekni statik ko

    rinishda, ya’ni bir o

    lchamli massiv ko

    rinishida 
    amalga oshirishga misol

    Berilayotgan
     
    butun sonlar ketma-ketligining 1-yarmini 
    dekning chap tomonidan, qolgan yarmini dekning o„ng tomonidan kiriting. 
    Dekning elementlarini bir safar chapdan, bir safar o„ngdan juftlikka tekshirib, toq 
    elementlari o„chirilsin.
    Algoritm 
    1.
    Dekka nechta element kiritilishi aniqlanadi – n, i=0. 
    2.
    i++; agar i4-qadamga o„tiladi. 
    3.
    Agar in/2 
    bo„lsa, dekning o„ng tomonidan kiritiladi, 2-qadamga o„tish. 
    4.
    Agar dek bo„sh bo„lmasa, chapdan element chiqarib olamiz. Agar element 
    juft bo„lsa, b[] massivga joylaymiz. 5-qadamga o„tiladi. Agar dek bo„sh bo„lsa, 6-
    qadamga o„tish. 
    5.
    Agar dek bo„sh bo„lmasa, o„ngdan element chiqarib olamiz. Agar element 
    juft bo„lsa, b[] massivga joylaymiz. 5-qadamga o„tiladi. Agar dek bo„sh bo„lsa, 6-
    qadamga o„tish. 
    6.
    b[] massiv elementlarini dekka o„ng tomondan kiritamiz. 

    Download 1,33 Mb.
    1   ...   17   18   19   20   21   22   23   24   ...   56




    Download 1,33 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    Algoritm  1. Agar stek to„lmagan bo„lsa elementlarni kiritamiz. Stekning toq  elementlarini saqlab turish uchun yangi  b[]

    Download 1,33 Mb.
    Pdf ko'rish