topshiriq quyidagi metodlarni izohlang begin


Download 171.2 Kb.
bet1/4
Sana18.06.2023
Hajmi171.2 Kb.
#1574281
  1   2   3   4
Bog'liq
2-topshiriq. MAP (2) (2)


2-TOPSHIRIQ

1)Quyidagi metodlarni izohlang.
begin() - iteratorni mapdagi birinchi elementga qaytaradi
end() - iteratorni mapdagi oxirgi elementdan keyingi nazariy elementga qaytaradi
size() - mapdagi elementlar sonini qaytaradi
max_size() - mapda saqlanishi mumkin bo'lgan elementlarning maksimal sonini qaytaradi
empty() - mapning bo'shligini tekshiradi
pair_insert(keyvalue, mapvalue) - mapga yangi element qo'shiladi
erase(iterator position) - elementni iterator ko'rsatgan joydan olib tashlaydi
erase(const g) - mapdan "g" kalit qiymatini olib tashlaydi
clear() - mapdagi barcha elementlarni olib tashlaydi

2) Dasturni tahlil qiling.


3) Dasturni tahlil qiling

4) Map hosil qiling uni 5 ta kalit va qiymat bilan to’ldiring. Mapning barcha elementlarini chop eting.


#include
#include
using namespace std;

int main(){


map tarjimon;
string a,b; int i;
for( i=1; i<=5; i++){
cout<<"kalitni kirit "; cin>>a;
cout<<"qiymatni kirit "; cin>>b;
tarjimon.insert(pair (a,b));
}
for(auto it=tarjimon.begin(); it!=tarjimon.end(); it++)
cout<first<<" " <second<cout<<" kalitni kiriting "; cin>>a;
cout<tarjimon.erase(a);
cout<cout<if(tarjimon.empty()) cout<<"bo'sh"; else cout<<" boo'sh emas";
}
5) Shunday map hosil qiling, juftliklar soni 5 ta, kalit string tipda qiymat esa butun sonlardan iborat bo’lsin. Mapga 3 ta juftlik qo’shib, mapni bo’shating.
#include
#include
using namespace std;
int main(){
map A;
string a; int i,b;
for( i=1; i<=3; i++){
cout<<"kalitni kirit "; cin>>a;
cout<<"qiymatni kirit "; cin>>b;
A.insert(pair (a,b));
}
for(auto it=A.begin(); it!=A.end(); it++)
cout<first<<" "<second<A.clear();
if(A.empty()) cout<<" bo'sh"; else cout<<" bo'sh emas";
}
6) Mapni iterator yordamida barcha juftliklarini chop eting
#include
#include
using namespace std;
int main(){
map A;
string a,b; int i,n;
cout<<"mapda necha juftlik bor ? "; cin>>n;
for( i=1; i<=n; i++){
cout<<"kalitni kirit "; cin>>a;
cout<<"qiymatni kirit "; cin>>b;
A.insert(pair (a,b));
}
for(auto it=A.begin(); it!=A.end(); it++)
cout<first<<" "<second<}
7) Izlanayotgan kalitga mos qiymatni chop eting.
#include
#include
using namespace std;
int main(){
map tarjima;
string a,b,k; int i,n;
cout<<" Mapda nechta juftlik bor ? "; cin>>n;
for(i=1; i<=n; i++){
cout<<"Kalitni kiriting "; cin>>a;
cout<<"Qiymatni kiriting "; cin>>b;
tarjima.insert(pair (a,b));
}
for(auto it=tarjima.begin(); it!=tarjima.end(); it++)
cout<first<<" "<second<cout<<"Qaysi kalitga mos qiymatni bilmoqchisiz "; cin>>k;
for(auto it=tarjima.begin(); it!=tarjima.end(); it++)
if(k==it->first) cout<second;
}
8) Tarjimon nomli map e’lon qiling. Map inglizcha- o’zbekcha kalit va qiymatlardan tashkil topgan bo’lsin. Mapdagi mavjud bo’lgan ixtiyoriy inglizcha so’zni tarjimasini chiqaruvchi dastur tuzing.
#include
#include
using namespace std;
int main(){
map tarjima=
{
{"book","kitob"},
{"pen", "ruchka"},
{"lemon","limon"},
{"horse","ot"},
{"teacher", "o'qituvchi"},
{"doctor"," shifokor"}
};
string a;
cout<<"tarjimasini bilmoqchi bo'lgan so'zni kiriting "; cin>>a;
for(auto it=tarjima.begin(); it!=tarjima.end(); it++)
if(a==it->first) cout<second;
}
9) Tarjimon nomli map e’lon qiling. Map inglizcha- o’zbekcha kalit va qiymatlardan tashkil topgan bo’lsin. Mapdagi mavjud bo’lgan ixtiyoriy kalitga kiritilgan qiymat mos yoki mos emasligini aniqlang. (“ tarjima to’g’ri yoki tarjima xató “ deb xabar bersin.)
#include
#include
using namespace std;
int main(){
map tarjima=
{
{"book","kitob"},
{"pen", "ruchka"},
{"lemon","limon"},
{"horse","ot"},
{"teacher", "o'qituvchi"},
{"doctor","shifokor"}
};
string a;
cout<<"tarjimasini toping "<cout<<"inglizcha o'zbekcha"<for(auto it=tarjima.begin(); it!=tarjima.end(); it++){
cout<first<<" "; cin>>a;
if(a==it->second)
cout<<"tarjima to'g'ri"<}
10) Mab e’lon qiling, uni n ta juftliklar bilan to’ldiring. Mapdan 2 ta element o’chirib, mabda size() funksiyasi yordamida mapning elementlar soni toping.
#include
#include
using namespace std;
int main(){
map xesh;
string a,b; int i,n;
cout<<" map da nechta element bo'lishi kerak "; cin>>n;
for(i=1; i<=n; i++){
cout<<"kalitni kirit "; cin>>a;
cout<<"qiymatni kirit "; cin>>b;
xesh.insert(pair (a,b));
}
for(auto it=xesh.begin(); it!=xesh.end(); it++)
cout<first<<" "<second<xesh.erase(xesh.begin());
xesh.erase(xesh.begin());
cout<}
11) Mapni hosil qiling va mapning birinchi va oxirgi kalit va qiymatini chop eting.
#include
#include
using namespace std;
int main(){
map xesh=
{{"apple","olma"},
{"book","kitob"},
{"teacher","o'qituvchi"}
};
int m,s=0; m=xesh.size();
for(auto k=xesh.begin(); k!=xesh.end(); k++){
s++;
if(s==1 or s==m) cout<first<<" "<second<}
12) Map hosil qiling, mapni ranglar va ranglar kodiga moslashtirib, kalit va qiymat hosil qiling. Mapni to’liqligicha bo’shating va bo’shligini tekshiring.
#include
#include
using namespace std;
int main(){
map ranglar=
{{"qizil","#FF0000"},
{"ko'k", "#0000FF"},
{"sariq", "#FFFF00"},
{"oq","#FFFFFF"},
{"qora","#000000"},
{"yashil","#008000"}
};
for(auto it=ranglar.begin(); it!=ranglar.end(); it++)
cout<first<<" "<second<ranglar.clear();
if(ranglar.empty()) cout<<"bo'sh"; else cout<<"bo'sh emas";
}
13) N ta kalit(char) va qiymat( kalitning ACSII dagi tartib raqamiga teng)dan iborat map hosil qiling. Mapga m yangi juftliklarni qo’shing va unli harflardan iborat kalit va qiymatlarini chop eting.

Download 171.2 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling