3-Mavzu: Assotsiativ va tartiblanmagan assotsiativ konteynerlar bo’yicha laboratoriya ishi


Download 131.26 Kb.
Sana27.05.2020
Hajmi131.26 Kb.
#110766
Bog'liq
3labaratoriyaDastur


3-Mavzu: Assotsiativ va tartiblanmagan assotsiativ konteynerlar bo’yicha laboratoriya ishi

3.1. set va multiset sinflaridan foydalanib, amaliy dasturlar yaratish

Bajardi:Baxodirov Doston 1- variant

1-misol

Berilgan int turidagi to’plam qiymatlarining juftlari 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

#include "stdafx.h"

#include

#include

#include

#include

#include

using namespace std;

int main()

{

ofstream f;set s;int n;



int S[100];multiset M,M1;

cout<<"Elementlar sonini kiriting :";cin>>n;

f.open("bloknot.txt");

srand(time(NULL));

for(int i=0; i

{

S[i]=rand()%n+n;



f<

}

f.close();



ifstream F;

int z;


F.open("bloknot.txt");

while(!F.eof())

{

F>>z;


M.insert(z);

M1.insert(z+1);

}

cout<<"\nM to'plam elementlari :\n";



for(auto i=M.begin(); i!=M.end(); i++){

cout<<*i<<" ";

}

cout<<"\nM1 to'plam elementlari :\n";



int soni = 0;

for(auto i=M1.begin(); i!=M1.end(); i++)

{

cout<<*i<<" ";



}

set s1;

auto k=M.begin();

for(int i=0; i

{

s1.insert(*k);k++;



}

cout<<"\n M to'plamdagi juft elementlarning M1 to'plamda qatnashganlari soni :\n";

for(auto i=s1.begin(); i!=s1.end();i++)

{

if(*i%2==0)



{

for(auto j=M1.begin();j!=M1.end();j++)

{

if(M1.count(*i))



{

if(*i==*j)

{soni++;}

}

}



if(soni>0)

{cout<<*i<<" - "<

else

{cout<<*i<<" qatnashmagan"<

soni=0;}

}

cout<<"\nSaralangan to'plam elementlari :\n";



auto l=M.begin();

auto k1=M1.begin();

for(int i=0; i

{

s.insert(*l);l++;



s.insert(*k1);k1++;

}

for(auto i=s.begin(); i!=s.end(); i++)



{

cout<<*i<<" ";}

F.close();

system("pause");



return 0;}

2-misol


Talabalar haqida (familiya, ismi, sharfi va telefon) to’plam berilgan. FIO si to’liq yozilganlar va telefoni T ga teng bo’lganlaridan 2- to’plamni hosil qiluvchi va ularni ekranga chiqaruvchi dastur tuzing.

#include

#include

#include

#include

#include
using namespace std;
int main(){ int n; bool t=false;
cout<<"talaba sonini kiriting: ";
cin>>n; cin.ignore();
multimap<string, int>M, M2;
for(int i=0; istring St; int tel;
cout<" - talaba malumotlarini kiriting: "<

cout<<"Fam, Ismi, Sharifi: "; getline(cin,St);

cout<<"telefon raqami: "; cin>>tel; cin.ignore();
M.insert(pair<string, int>(St,tel));}

string S; int T;
cout<<"Telefon raqami shu bulgan talabani chiqarsin: ";

cin>>T; int k=0;
for(multimap<string, int>::iterator it=M.begin();
it !=M.end(); ++it)

{
S=it->first;



if(S.find( " ")second==T){M2.insert(pair<string, int>(S,T)); t=true;}

}

cout<<" surov natijasi: "<

if(t){cout<<"bor"<



for( multimap<string, int>::iterator it=M2.begin(); it !=M2.end(); ++it){



cout<first<<" "<second<

}

}

system ("pause");



return 0;}



Download 131.26 Kb.

Do'stlaringiz bilan baham:




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