18. Berilgan char turidagi to’plamning kata harfdan iborat elementlarini o’chiruvchi va kichik harfdan iborat elementidan2- to’plamni hosil qiluvchi hamda ularni ekranga chiqaruvchi dastur tuzing


Download 0.51 Mb.
Sana24.04.2023
Hajmi0.51 Mb.
#1394955
Bog'liq
18. Berilgan char turidagi to’plamning kata harfdan iborat eleme


3.1. setva multiset sinflaridanfoydalanib, amaliydasturlaryaratish
18. Berilgan char turidagi to’plamning kata harfdan iborat elementlarini o’chiruvchi va kichik harfdan iborat elementidan2- to’plamni hosil qiluvchi hamda ularni ekranga chiqaruvchi dastur tuzing.


#include
#include
using namespace std;
int main(){
setch;
set ch2;
short n;
char a;

cout<<"Belgilarsoniniko'ring : ";


cin>>n;
for (inti = 0; icin>>a;
ch.insert(a);
}

cout<<"1 - to'plamelementlari : \n";


for (auto c:ch){
cout<}

for(auto b:ch){

if((int)(b)>64 && (int)(b)<91){
ch.erase(b);
}
else{
ch2.insert(b);
}
}
cout<<"\n2 - to'plamelementlari : \n";
for (auto c:ch2){
cout<}
}
3.2. mapvamultimapsinflaridanfoydalanib, amaliydasturlaryaratish

18. Mobil telefonlarhaqida (nomi, turi, versiyasi, hajmi, foydalilik darajasi,yadrosi, kamera o’lchami) to’plam berilgan.Mobil telefonlarning nomi bir xillardan 2- to’plamni, turi bir xillaridan 3- to’plamni, yadrosi bir xillaridan 4- to’plamni tashkil qiluvchi hamda Mobil telefonni nomi, turi, versiyasi, hajmi, foydalilik darajasi, yadrosi, kamera o’lchami bo’yicha qidiruvchi hamda topilgan natijani faylga saqlashni taklif qiladigan dastur tuzing.



#include
#include
#include
#include
#include
#pragma warning(disable: 4996);
templatestructNoAction {
bool operator()(T a, T b) const {
return false;
}
};
using namespace std;
classtelefon {
public:
telefon() {}
stringnomi, turi, versiya, hajmi, yadrosi;
int FIK, yili;
telefon(string a, string b, string c, string d, string e, int f, int g) :
nomi(a), turi(b), versiya(c), hajmi(d), yadrosi(e), FIK(f), yili(g) {}
friend void search(multiset>jm, string a, char e) {
multiset>tr;
int b;
stringstream(a) >> b;
if (e == '0') for (auto t : jm) if (t.nomi == a)
{
printf("Nomi: %s, Turi: %s, Versiyasi: %s, Hajmi: %s, FIK: %d, Yadrosi: %s, Sana: %d\n", t.nomi.c_str(), t.turi.c_str(), t.versiya.c_str(), t.hajmi.c_str(), t.FIK, t.yadrosi.c_str(), t.yili);
tr.insert(t);
}
if (e == '1') for (auto t : jm) if (t.turi == a)
{
printf("Nomi: %s, Turi: %s, Versiyasi: %s, Hajmi: %s, FIK: %d, Yadrosi: %s, Sana: %d\n", t.nomi.c_str(), t.turi.c_str(), t.versiya.c_str(), t.hajmi.c_str(), t.FIK, t.yadrosi.c_str(), t.yili);
tr.insert(t);
}
if (e == '2') for (auto t : jm) if (t.versiya == a)
{
printf("Nomi: %s, Turi: %s, Versiyasi: %s, Hajmi: %s, FIK: %d, Yadrosi: %s, Sana: %d\n", t.nomi.c_str(), t.turi.c_str(), t.versiya.c_str(), t.hajmi.c_str(), t.FIK, t.yadrosi.c_str(), t.yili);
tr.insert(t);
}
if (e == '3') for (auto t : jm) if (t.hajmi == a)
{
printf("Nomi: %s, Turi: %s, Versiyasi: %s, Hajmi: %s, FIK: %d, Yadrosi: %s, Sana: %d\n", t.nomi.c_str(), t.turi.c_str(), t.versiya.c_str(), t.hajmi.c_str(), t.FIK, t.yadrosi.c_str(), t.yili);
tr.insert(t);
}
if (e == '4') for (auto t : jm) if (t.FIK == b)
{
printf("Nomi: %s, Turi: %s, Versiyasi: %s, Hajmi: %s, FIK: %d, Yadrosi: %s, Sana: %d\n", t.nomi.c_str(), t.turi.c_str(), t.versiya.c_str(), t.hajmi.c_str(), t.FIK, t.yadrosi.c_str(), t.yili);
tr.insert(t);
}
if (e == '5') for (auto t : jm) if (t.yadrosi == a)
{
printf("Nomi: %s, Turi: %s, Versiyasi: %s, Hajmi: %s, FIK: %d, Yadrosi: %s, Sana: %d\n", t.nomi.c_str(), t.turi.c_str(), t.versiya.c_str(), t.hajmi.c_str(), t.FIK, t.yadrosi.c_str(), t.yili);
tr.insert(t);
}
if (e == '6') for (auto t : jm) if (t.yili == b)
{
printf("Nomi: %s, Turi: %s, Versiyasi: %s, Hajmi: %s, FIK: %d, Yadrosi: %s, Sana: %d\n", t.nomi.c_str(), t.turi.c_str(), t.versiya.c_str(), t.hajmi.c_str(), t.FIK, t.yadrosi.c_str(), t.yili);
tr.insert(t);
}
cout<< "C diskdagi output.txt gasoxranitqilaylikmi [y/n] = ";
char t;
cin>> t;
if (t == 'y') {
FILE* f = fopen("C:\\output.txt", "w");
for (auto t : tr)
fprintf(f, "Nomi: %s, Turi: %s, Versiyasi: %s, Hajmi: %s, FIK: %d, Yadrosi: %s, Sana: %d\n", t.nomi.c_str(), t.turi.c_str(), t.versiya.c_str(), t.hajmi.c_str(), t.FIK, t.yadrosi.c_str(), t.yili);
}
else return;
}
friend void searchBy(multiset>jm) {
char t;
cout<< "Nimabo'yichaqidirmoqdasiz : [0,1,2,3,4,5,6] = ";
cin>> t;
string name;
cout<< "Tekshiruvningmatninikirgazing: ";
cin>> name;
search(jm, name, t);
}
friend multiset>MakeSetT(multiset>jm, char e) {
multiset>tr;
if (e == '0') for (auto t = jm.begin(); t!=jm.end();) {
int key = 0;
for (auto e = jm.begin(); e != jm.end(); ++e) if (t != e && t->nomi == e->nomi) { key = 1; break; };
if (!key) t = jm.erase(t);
else t++;
}
if (e == '1') for (auto t = jm.begin(); t != jm.end();) {
int key = 0;
for (auto e = jm.begin(); e != jm.end(); ++e) if (t != e && t->turi == e->turi) { key = 1; break; };
if (!key) t = jm.erase(t);
else t++;
}
if (e == '2') for (auto t = jm.begin(); t != jm.end();) {
int key = 0;
for (auto e = jm.begin(); e != jm.end(); ++e) if (t != e && t->yadrosi == e ->yadrosi) { key = 1; break; };
if (!key) t = jm.erase(t);
else t++;
}
returnjm;
}
voidkiritish() {
cout<< "Telefonnomi : ";
cin>>nomi;
cout<< "Turi : ";
cin>>turi;
cout<< "Versiyasi : ";
cin>>versiya;
cout<< "Hajmi: ";
cin>>hajmi;
cout<< "FIK : ";
cin>> FIK;
cout<< "Yadrosi : ";
cin>>yadrosi;
cout<< "Sana : ";
cin>>yili;
cout<}

};
int main() {


multiset>mobiltelefonlar;
int a;
cout<< " Mobil telefonlarsoni : ";
cin>> a;
for (int c = 0; c < a; c++) {
telefon t;
t.kiritish();
mobiltelefonlar.insert(t);
}
multiset> toplam2 = MakeSetT(mobiltelefonlar, '0'), toplam3 = MakeSetT(mobiltelefonlar, '1'), toplam4 = MakeSetT(mobiltelefonlar, '2');
searchBy(mobiltelefonlar);
}

Download 0.51 Mb.

Do'stlaringiz bilan baham:




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