Amaliy mashgulot. Kontеynеrlar (Kollеksiyalar).
Namuna:
1-masala: Navbat berilgan elementlari yig’indisini topadigan dastur yarating. #include #include using namespace std;
int main() { int sum=0;
deque deq;
deq.push_back(11);
deq.push_back(7);
deq.push_back(-8);
deq.push_back(100);
while(!deq.empty())
{
sum+=deq.front();
deq.pop_front();
}
cout<
return 0;
} Natija:110
Masalani yechish uchun oldin deque sinfi uchun kutubxona e’lon qilinadi. push_back() funksiyasi orali navbatga elementlarni qo’shib boriladi, qachonki navbat bo’sh bo’lmasa sum=0 o’zgaruvchisiga pop_front() funksiyasi orqali qo’shib boriladi va yig’indi hisoblanadi.
2-masala: Ro’yhat berilgan elementlarini chop qiling va oxirgi elemetini aniqlang; #include #include using namespace std;
void show(listnewlist)
{
list::iterator i;
for(i=newlist.begin(); i!=newlist.end();i++)
cout<<*t;
cout<}
int main() { list newlist;
newlist.push_back(-100);
newlist.push_back(26);
newlist.push_back(-17);
newlist.push_back(-11);
newlist.push_back(133);
show(list);
list.pop_back();
}
Dastur natijasi: -100 26 -17 -11 133 133
Masalani yechish uchun oldin list sinfi uchun kutubxona e’lon qilinadi. push_back() funksiyasi orali ro’yhatga elementlarni qo’shib boriladi,
show funksiyasi yaratiladi ushbu funksiya ro’yhatning elementlarini iterator orqali chop qilinadi. Ro’yhatning oxirgi elementini chop qilish uchun esa pop_back() funsiyasidan foydalaniladi.
3-masala: Vektorning juft elementlarini va juft indeksidagi elementlarini yig’indisini toping.
Dastur natijasi:
Masalani yechish uchun oldin vector sinfi uchun kutubxona e’lon qilinadi. push_back() funksiyasi orali vectorga elementlarni qo’shib boriladi,
showVectorElements(), showVectorSum(), showVectorIndexSum() funksiyalari yaratiladi ushbu funksiya mos ravishda vectorning elementlarini ,juft elementalarini yig’indisini, juft indexsida turgan elementlarini yig’indisini chop qilinadi. at() funsiyasidan foydaaniladi.
4-masala: Stackning maximum elementi topilsin.
void stackElementlari(stack s)
{
while (!s.empty())
{
cout << '\t' << s.top();
s.pop();
}
cout << '\n';
}
//Stekdan max elementni topuvchi funksiya
int maxElement(stack s){
int max = s.top();
while (!s.empty())
{
if(s.top() > max)
{
max = s.top();
}
s.pop();
}
return max;
}
//Asosiy funksiya
int main () {
stack s;
s.push(101);
s.push(30);
s.push(20);
s.push(5);
s.push(100);
cout << "Stek elementlari: ";
stackElementlari( s);
int max = maxElement (s);
cout << "\nEng katta element: " << max;
return 0;
}
Masalani yechish uchun oldin stack sinfi uchun kutubxona e’lon qilinadi. push() funksiyasi orali stekga elementlarni qo’shib boriladi,
stackElementlari(), maxElement() funksiyalari yaratiladi ushbu funksiyalar mos ravishda stekning elementlarini va maximum elementini chop qiladi.
Qachonki stek bo’sh bo’lmasa ya’ni empty() bo’lmasa top() funksiyasi orqali elementlari chop qiladi.maximum topish uchun esa oxirgi joylashgan elementini max qilib olinadi va boshqalari bilan solishtirib chiqiladi.