Va kommunikatsiyalarni rivojlantirish vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalar universiteti
Download 257.28 Kb. Pdf ko'rish
|
3-laboratoriya 7-variant
O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARNI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALAR UNIVERSITETI Dasturlash kafedrasi Dasturlash II fani bo’yicha Laboratoriya ishi Mavzu:Set Multiset, Map va Multimap konteynerlaridan foydalanib amaliy dasturlar yaratish Bajardi:SWD022-L2-guruh talabasi Jo’rayev M Tekshirdi:Baxramova Y TOSHKENT 2019
3-laboratoriya ishi 7-variant 1 - Berilgan string turidagi to’plamning 2 ta elementidan 2- to’plamni, 3 ta elementidan 3- to’plamni hosil qiluvchi 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
"set"
#include
"string"
#include
"iostream"
#include
"fstream"
using
namespace std; int
main() {
multiset < string
> toplam1;
//set
//set
set < string
>toplam2;
set < string
>toplam3;
ifstream fin; string
item;
fin.open( "to_plam.txt" );
if (!fin.is_open())cout << "Faylni ochib bo'lmadi..";
while (!fin.eof()){
fin >> item;
toplam1.insert(item);
} int
i = 0;
cout << "1-to'plam elementlari:\n" ;
for ( auto it : toplam1){
cout << it << endl;
if (i < 2)toplam2.insert(it);
if (i>=2 && i<5)toplam3.insert(it);
i++;
} cout <<
"\n2-to'plam elementlari\n" ;
for ( auto it : toplam2){
cout << it << endl;
} cout <<
"\n3-to'plam elementlari\n" ;
for ( auto it : toplam3){
cout << it << endl;
} for
( auto
t3 = toplam3.begin(); t3 != toplam3.end(); t3++)toplam2.insert(*t3);
toplam3.clear(); cout <<
"\n2- va 3- to'plamlardan saralangan to'plam:\n" ;
for ( auto it : toplam2){
cout << it << endl;
} system(
"pause" );
return
0; }
2 Kafedralar haqida (nomi, mudir_FIO, xodimlar soni, fanlar soni va professorlar soni) to’plam berilgan. Kafedralarni nomi, mudir_FIO, fanlari soni va professorlar soni bo’yicha qidiruvchi hamda topilgan natijani faylga saqlashni taklif qiladigan dastur tuzing.
#include "stdafx.h"
#include
"iostream"
#include
"map"
#include
"string"
#include
"fstream"
template
< class
T , class
M , class
D , class
G , class
R , class
L > void
_writeFile( T
MudirFIO , M Xodim_soni , D
Fanlar_soni , G professor_soni , R
Talabalar_soni , L KafedraNomi ){
fout;
fout.open( "natijalar.txt" , ios ::app);
if (!fout.is_open())cout << "natijalar.txt fayli ochilmadi" ;
"\n------------------" <<
KafedraNomi <<
"------------------\n" << endl;
fout <<
KafedraNomi <<
" kafedrasi mudiri:" <<
MudirFIO .at(
KafedraNomi ) << endl;
fout <<
KafedraNomi <<
" kafedrasidagi xodimlar soni:" <<
Xodim_soni .at(
KafedraNomi ) << endl;
fout <<
KafedraNomi <<
" kafedrasida o'qitiladigan fanlar soni:" <<
Fanlar_soni .at(
KafedraNomi ) << endl;
fout <<
KafedraNomi <<
" kafedrasidagi talabalar soni:" <<
Talabalar_soni .at(
KafedraNomi ) <<
endl;
fout << KafedraNomi <<
" kafedrasidagi Professor o'qituvchilar soni:" <<
professor_soni .at(
KafedraNomi ) << endl;
fout.close(); } template
< class
T , class
M , class
D , class
G , class
R , class
L > void
getKafedra( T
MudirFIO , M Xodim_soni , D
Fanlar_soni , G professor_soni , R
Talabalar_soni , L KafedraNomi ){
"\n------------------" <<
KafedraNomi <<
"------------------\n" << endl;
cout <<
KafedraNomi <<
" kafedrasi mudiri:" <<
MudirFIO .at(
KafedraNomi ) << endl;
cout <<
KafedraNomi <<
" kafedrasidagi xodimlar soni:" <<
Xodim_soni .at(
KafedraNomi ) << endl;
cout <<
KafedraNomi <<
" kafedrasida o'qitiladigan fanlar soni:" <<
Fanlar_soni .at(
KafedraNomi ) << endl;
cout <<
KafedraNomi <<
" kafedrasidagi talabalar soni:" <<
Talabalar_soni .at(
KafedraNomi ) <<
endl;
cout << KafedraNomi <<
" kafedrasidagi Professor o'qituvchilar soni:" <<
professor_soni .at(
KafedraNomi ) << endl; } template
< class
T , class
M , class
D , class
G , class
R , class
A > void
findInMaps( T
MudirFIO , M Xodim_soni , D
Fanlar_soni , G professor_soni , R
Talabalar_soni , A KafedraNomi ){
if ( MudirFIO .find(
KafedraNomi ) !=
MudirFIO .end()){
MudirFIO , Xodim_soni , Fanlar_soni , professor_soni , Talabalar_soni , KafedraNomi );
char quiz;
cout << "\n Natijani natijalar.txt fayligan yozilsinmi? (Y/N) " ; cin >> quiz;
(quiz == 'Y'
|| quiz == 'y'
){
_writeFile( MudirFIO , Xodim_soni , Fanlar_soni , professor_soni , Talabalar_soni , KafedraNomi );
}
else exit(0);
}
else cout << "Bunday kafedra mavjud emas\n" ; } using
namespace std; int
main() {
map < string
, string
>MudirFIO;
map < string
, string
>:: const_iterator it;
< string
, int
>Xodim_soni;
map < string
, int
>Fanlar_soni;
map < string
, int
>Talabalar_soni;
map < string
, int
>professor_soni;
ifstream fin;
fin.open( "berilgan_ma_lumotlar.txt" );
if (!fin.is_open())cout << "Faylni ochishdagi xatolik" ;
string KafedraNomi, MudirIsmSharifi, ism, fam, sharif; int XodimlarSoni, TalabalarSoni, ProfessorlarSoni, FanlarSoni;
while (!fin.eof())
{
fin >> KafedraNomi;
fin >> fam;
fin >> ism;
fin >> sharif;
fin >> FanlarSoni;
fin >> XodimlarSoni;
fin >> TalabalarSoni;
fin >> ProfessorlarSoni;
MudirIsmSharifi.append(fam);
MudirIsmSharifi.append( " " );
MudirIsmSharifi.append(ism);
MudirIsmSharifi.append( " " );
MudirIsmSharifi.append(sharif);
MudirFIO.emplace(KafedraNomi, MudirIsmSharifi);
Xodim_soni.emplace(KafedraNomi, XodimlarSoni);
Fanlar_soni.emplace(KafedraNomi, FanlarSoni);
Talabalar_soni.emplace(KafedraNomi, TalabalarSoni);
professor_soni.emplace(KafedraNomi, ProfessorlarSoni);
MudirIsmSharifi = "" ;
}
fin.close(); cout <<
"\n------------Fayldan o'qilgan ma'lumotlar-------------\n" ;
for (it = MudirFIO.begin(); it != MudirFIO.end(); it++)
>first);
cout << "\nIzlanayotgan Kafedra nomini kiriting:" ; cin >> KafedraNomi;
system(
"pause" );
return
0; }
Natijalar.txt fayli Berilgan_ma_lumotlar.txt fayli Download 257.28 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling