Forward_list
2
1 son: 23
2 son: 45
A to'plam qiymatlari
45
23
Z to'plam qiymatlari
5
9
2.5. list konteyneridan foydalanib, amaliy dasturlar yaratish
Ishning maqsadi: C++ dasturlash tilida list konteyneri va uning metodlaridan foydalanish ko’nikmalarini egallsh.
Masalaning qo’yilishi: Worward_list asosida yaratilgan to’plam elementlarini list ning maxsus funksiyalari yordamida qayta ishlash.
Masala:Berilgan int turidagi to’plam qiymatlarini juftlarini Z to’plamga joylashtiruvchi va ularni ekranga chiqaruvchi dastur tuzing.
Masalaniyechish g‘oyasi:list konteyneri to’plami yaratiladi. list ning push_back() iteratoridan foydalanib, A to’plamga qiymatlar o’zlashtiriladi. Z to’plamga esa A to’plam qiymatlarini juftlari yoziladi.
Dastur matni: #include "stdafx.h"
2.6. set va multiset sinflaridan foydalanib, amaliy dasturlar yaratish
Ishning maqsadi: C++ dasturlash tilida set va multiset sinflari va uning metodlaridan foydalanish ko’nikmalarini egallsh.
Masalaning qo’yilishi: set va multiset asosida yaratilgan to’plam elementlarini set va mutiset ning maxsus funksiyalari yordamida qayta ishlash.
Masala: Berilgan int turidagi to’plam qiymatlari 2- to’plamda nechta marta qatnashganligini aniqlovchi va ularni ekranga chiqaruvchi dastur tuzing. Ikkala to’plamdan ham bir xil qiymatli elemetlar o’chirilib Saralangan to’plam hosil qilinsin hamda uning qiymatlari ekranga chiqarilsin.
Masalaniyechish g‘oyasi:set konteyneri to’plami yaratiladi. list ning insert() iteratoridan foydalanib, A to’plamga qiymatlar o’zlashtiriladi. Z to’plamga esa A to’plam qiymatlarini juftlari yoziladi.
Dastur matni: #include "stdafx.h"
2.7. map va multimap sinflaridan foydalanib, amaliy dasturlar yaratish
Ishning maqsadi: C++ dasturlash tilida map va mulmap sinflari va uning metodlaridan foydalanish ko’nikmalarini egallsh.
Masalaning qo’yilishi: map va multimap asosida yaratilgan to’plam elementlarini map va mutimap ning maxsus funksiyalari yordamida qayta ishlash.
Masala: Talabalarning haqida (familiya, ismi va stipendiyasi) string va float turidagi to’plam berilgan. Familiyasi yoki ismi to’liq yozilganlar va stipendiyasi N ga teng bo’lganlaridan 2- to’plamni hosil qiluvchi va ularni ekranga chiqaruvchi dastur tuzing.
Masalaniyechish g‘oyasi: map konteyneri to’plami yaratiladi. map ning insert(pair('a',10)) iteratoridan foydalanib, A to’plamga qiymatlar o’zlashtiriladi.
Dastur matni: #include "stdafx.h"
#include
#include
#include
using namespace System;
using namespace std;
int main()
{ map s; int n;
cout<<"Talabalar sonini kiriting: "; cin>>n; cin.ignore();
multimap M, M2;
for (int i = 0; i < n; i++)
{ string St;
int step;
cout<
cout<<"Fam, ismi: "; getline(cin,St);
cout<<"Stipendiyasi: "; cin>>step; cin.ignore();
s.insert(pair(St,step));
M.insert(pair(St,step));
}
string S;
int N;
cout<<"Qanday stipendiya oladigan talaba haqida ma'lumot kerak?: ";
cin>>N;
int k=0;
for (auto it = M.begin(); it != M.end(); ++it){
S = it->first;
if(S.find(" ")second == N){
M2.insert(pair(S,N)); cout<<"bor"<
}
cout<<"So'rov Natijasi:"<
for (auto it = M2.begin(); it != M2.end(); ++it){
cout<first<<" "<second<
}
getchar(); getchar();
return 0;
}
Dastur natijasi:
Talabalar sonini kiriting: 3
1 - talaba ma'lumotlarini kiriting:
Fam, ismi: Mallayev Oybek
Stipendiyasi: 400000
2 - talaba ma'lumotlarini kiriting:
Fam, ismi: Ishniyazov Odil
Stipendiyasi: 500000
3 - talaba ma'lumotlarini kiriting:
Fam, ismi: ABdurahmonov
Stipendiyasi: 300000
Qanday stipendiya oladigan talaba haqida ma'lumot kerak?: 400000
bor
So'rov Natijasi:
Mallayev Oybek 400000
2.8. stack sinflaridan foydalanib, amaliy dasturlar yaratish
Ishning maqsadi: C++ dasturlash tilida satck sinflari va uning metodlaridan foydalanish ko’nikmalarini egallsh.
Masalaning qo’yilishi: stack asosida yaratilgan to’plam elementlarini push(), top(), pop() va empty() iteratorlar yordamida qayta ishlash.
Masala: Savatga hajmi har xil (bir xillari ham bor) tuxumlar solingan. Ushbu tuxumlardan bir xil hajimli tuxumlar sonini aniqlovchi va ulardan bittasini qoldirish va qolganlarini o’chirish dasturini tuzing.
Masalaniyechish g‘oyasi: stack konteyneri to’plami yaratiladi. Stack ning push() iteratoridan va set ning insert((a)) iteratoridan foydalanib, Stak to’plamga qiymatlar o’zlashtiriladi. Ichma ich sikl jarayonidan bir xil hajmli tuhumlar soni aniqlanadi.
Dastur matni: #include "stdafx.h"
#include
#include
#include
#include
#include
#include
using namespace System;
using namespace std;
int main()
{ srand(time(NULL));
int n; cout<<"Tuxumlar sonini kiriting:= "; cin>>n;