921_21 guruh Qurvonnazarov Ixlosbek
1-loborotoriya ishi
Eshik va deraza class larini yarating va ularni bog’lovchi funksiyalar yarating
#include
using namespace std;
namespace yangi_nomlar_fazosi { //Yangi nomlar fazosi
class deraza {
protected:
int razmer, ishlab_chiqarilgan_yili;
string materiali;
public:
deraza() {}
deraza(int razmer, int yil, string materiali) {
this->razmer = razmer;
this->ishlab_chiqarilgan_yili = yil;
this->materiali =materiali;
}
static void qidirish(deraza* massiv, int n, string mat) { //qidirish materiali bo'yicha
for (int i = 0; i
if (massiv[i].materiali ==mat) massiv[i].print();
}
}
static void saralash(deraza* massiv, int n) { //saralash, razmeri bo'yicha
for (int i = 0; i
for (int j = i + 1; j
if (massiv[i].razmer >massiv[j].razmer)
swap(massiv[i], massiv[j]);
}
}
}
void ozgartirish(int razmer, int yil, string materiali) {//o'zgartirish metodi
this->razmer = razmer;
this->ishlab_chiqarilgan_yili = yil;
this->materiali =materiali;
}
void print() {
cout <<"\nRazmeri: "<< razmer
<<"\nIshlab chiqarilgan yili: "<< ishlab_chiqarilgan_yili
<<"\nMateriali : "<< materiali << endl;
}
};
class eshik :public deraza {
public:
eshik(){}
eshik(int razmer, int yil, string materiali) {
this->razmer = razmer;
this->ishlab_chiqarilgan_yili = yil;
this->materiali = materiali;
}
};
}
int main() {
using namespace yangi_nomlar_fazosi; // Yangi hosil qilingan nomlar fazosidan foydalanish
int n, m;
cout <<"Nechta deraza haqida ma'lumot kiritmoqchisiz?\nn = "; cin >> n;
deraza* derazalar;
derazalar = new deraza[n];
if (n) cout <<"\nderazalar haqida ma'lumotlarni kiritish:\n\n";
for (int i = 0; i < n; i++) {
int razmer, yili;
string materiali;
cout <<"derazaning razmeri: "; cin >> razmer;
cout <<"derazaning ishlab chiqarilgan yili: "; cin >> yili;
cout <<"derazaning materiali: "; cin >> materiali;
derazalar[i] =deraza(razmer, yili, materiali);
}
cout <<"\nderazalarni saralash, razmeri bo'yicha:\n";
derazalar[0].saralash(derazalar, n);
//Ekranga chiqarish:
for (int i = 0; i < n; i++) {
derazalar[i].print();
}
cout <<"\nQidirish: \nMaterialni kiriting: ";
string man; cin >> man;
derazalar[0].qidirish(derazalar, n, man);
cout <<"Nechta eshik haqida ma'lumot kiritmoqchisiz?\nn = "; cin >> m;
eshik* eshiklar;
eshiklar = new eshik[m];
if (m) cout <<"\neshiklar haqida ma'lumotlarni kiritish:\n\n";
for (int i = 0; i < m; i++) {
int razmer, yili;
string material;
cout <<"eshikning razmeri: "; cin >> razmer;
cout <<"eshikning ishlab chiqarilgan yili: "; cin >> yili;
cout <<"eshikning materiali: "; cin >> material;
eshiklar[i] =eshik(razmer, yili, material);
}
cout <<"\neshiklarni saralash, razmeri bo'yicha:\n";
eshiklar[0].saralash(eshiklar, m);
//Ekranga chiqarish:
for (int i = 0; i < m; i++) {
eshiklar[i].print();
}
cout <<"\nQidirish: Materialni kiriting: ";
cin >> man;
eshiklar[0].qidirish(eshiklar, m, man);
}
2. Kalit va qulf class larini yarating va ularni bog’lovchi funksiyalar yarating
#include
using namespace std;
namespace yangi_nomlar_fazosi { //Yangi nomlar fazosi
class Kalit{
protected:
int razmer, ishlab_chiqarilgan_yili;
string materiali;
public:
Kalit() {}
Kalit(int razmer, int yil, string materiali) {
this->razmer = razmer;
this->ishlab_chiqarilgan_yili = yil;
this->materiali =materiali;
}
static void qidirish(Kalit* massiv, int n, string mat) { //qidirish materiali bo'yicha
for (int i = 0; i if (massiv[i].materiali ==mat) massiv[i].print();
}
}
static void saralash(Kalit* massiv, int n) { //saralash, razmeri bo'yicha
for (int i = 0; i for (int j = i + 1; j if (massiv[i].razmer >massiv[j].razmer)
swap(massiv[i], massiv[j]);
}
}
}
void ozgartirish(int razmer, int yil, string materiali) {//o'zgartirish metodi
this->razmer = razmer;
this->ishlab_chiqarilgan_yili = yil;
this->materiali =materiali;
}
void print() {
cout <<"\nRazmeri: "<< razmer
<<"\nIshlab chiqarilgan yili: "<< ishlab_chiqarilgan_yili
<<"\nMateriali : "<< materiali << endl;
}
};
class Qulf :public Kalit {
public:
Qulf(){}
Qulf(int razmer, int yil, string materiali) {
this->razmer = razmer;
this->ishlab_chiqarilgan_yili = yil;
this->materiali =materiali;
}
};
}
int main() {
using namespace yangi_nomlar_fazosi; // Yangi hosil qilingan nomlar fazosidan foydalanish
int n, m;
cout <<"Nechta kalit haqida ma'lumot kiritmoqchisiz?\nn = "; cin >> n;
Kalit* kalitlar;
kalitlar = new Kalit[n];
if (n) cout <<"\nKalitlar haqida ma'lumotlarni kiritish:\n\n";
for (int i = 0; i < n; i++) {
int razmer, yili;
string materiali;
cout <<"Kalitning razmeri: "; cin >> razmer;
cout <<"Kalitning ishlab chiqarilgan yili: "; cin >> yili;
cout <<"Kalitning materiali: "; cin >> materiali;
kalitlar[i] =Kalit(razmer, yili, materiali);
}
cout <<"\nKalitlarni saralash, razmeri bo'yicha:\n";
kalitlar[0].saralash(kalitlar, n);
//Ekranga chiqarish:
for (int i = 0; i < n; i++) {
kalitlar[i].print();
}
cout <<"\nQidirish: \nMaterialni kiriting: ";
string man; cin >> man;
kalitlar[0].qidirish(kalitlar, n, man);
cout <<"Nechta qulf haqida ma'lumot kiritmoqchisiz?\nn = "; cin >> m;
Qulf* qulflar;
qulflar = new Qulf[m];
if (m) cout <<"\nQulflar haqida ma'lumotlarni kiritish:\n\n";
for (int i = 0; i < m; i++) {
int razmer, yili;
string material;
cout <<"Qulfning razmeri: "; cin >> razmer;
cout <<"Qulfning ishlab chiqarilgan yili: "; cin >> yili;
cout <<"Qulfning materiali: "; cin >> material;
qulflar[i] =Qulf(razmer, yili, material);
}
cout <<"\nQulflarni saralash, razmeri bo'yicha:\n";
qulflar[0].saralash(qulflar, m);
//Ekranga chiqarish:
for (int i = 0; i < m; i++) {
qulflar[i].print();
}
cout <<"\nQidirish: Materialni kiriting: ";
cin >> man;
qulflar[0].qidirish(qulflar, m, man);
}
Do'stlaringiz bilan baham: |