|
|
səhifə | 2/2 | tarix | 19.12.2023 | ölçüsü | 48,26 Kb. | | #185464 |
| 10-Amaliyot. (Deklar)
Dastur kodi #include #include using namespace std; int a[10],n,R=0; bool isEmpty(){
if(R==0) return true; else return false;
bool isFull(){
if(R>=10) return true; else return false;
}
int kirit_left(int s){
if(isFull()){cout<<"\ndek to'ldi";n=R;return EXIT_SUCCESS;} for(int i=R;i>0;i--)
a[i]=a[i-1]; a[0]=s;R++;
}
int olish_left(){
if(isEmpty()){cout<<"\ndek bo'sh";return EXIT_SUCCESS;} int t=a[0];
for(int i=0;i
R--;
return t;
}
int kirit_right(int s){
if(isFull()){cout<<"\ndek to'ldi";n=R;return EXIT_SUCCESS;} a[R]=s;R++;
}
int olish_right(){
if(isEmpty()){cout<<"\ndek bo'sh";return EXIT_SUCCESS;} R--;
return a[R];
}
int print(){
cout<
}
int main(int argc, char *argv[])
{ int n,s;cout<<"n="; cin>>n; for(int i=0;i
if(!isFull()){ cout<<"kirit=";cin>>s; if(i>=n/2) kirit_right(s); else kirit_left(s);}
else {cout<<"dek to'ldi\n";break;}
}
print();
int b[n/2],k=0,c[n/2],p=0;
while(!isEmpty()){
int q=olish_left(); if(q%2==0) b[k++]=q; if(isEmpty()) break;
int p=olish_right(); if(p%2==0) b[k++]=p;
}
int i=0; while(i
kirit_right(b[i]); i++;
}
print(); system("PAUSE"); return EXIT_SUCCESS;
}
Dastur natijasi
kirit=1
|
|
kirit=2
|
kirit=3
|
kirit=4
|
kirit=5
|
kirit=6
|
kirit=7
|
kirit=8
|
dek ele-tlari=4
|
3 2 1 5 6 7 8
|
dek ele-tlari=4
|
8 2 6
|
Nazorat savollari
Statik va yarimstatik Ma’lumotlar tuzilmasi nima va farqini tushuntiring?
Navbat tuzilmasini tushuntiring.
Yarimstatik Ma’lumotlar tuzilmasini dasturda e’lon qilishning qanday usullarini bilasiz?
Stek tuzilmasini tushuntiring va misol keltiring.
Dek nima va navbat tuzilmasidan farqi nimada?
Topshiriqlar (har bir talaba 4 tadan misol ishlashi kerak)
Dekning har 2 ta elementidan keyin ularning yig‘indisini joylang.
Dekning o‘rtasidagi element yoki elementlarni o‘chiring.
Dekning juft elementlari yig‘indisini hisoblang.
Berilgan so‘zning unli harflarini dekning chap tomonidan, undoshlarini o’ng tomondan kiriting.
Dekning toq elementlaridan navbat, juft elementlaridan stek hosil qiling.
Dekdagi manfiy sonlarni o‘chiring.
Dekni o‘rtasiga “dek” so’zini kiriting.
Dekning har n-elementi o’chirilsin.
3 ta dek to’plamining o‘xshash elementlaridan yangi dek hosil qiling
Dekning elementlari sort() metodisiz saralansin.
Dostları ilə paylaş: |
|
|