Muhammad al-xorazmiy nomidagi toshkent axborot texnalogiyalari universiteti telekomunikatsiyalar fakulteti



Download 106,5 Kb.
Sana17.03.2023
Hajmi106,5 Kb.
#919862
Bog'liq
Jumayev




MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNALOGIYALARI UNIVERSITETI TELEKOMUNIKATSIYALAR FAKULTETI



DASTURLASH fanidan
1- LABORATORIYA ISHI
Bajardi: 008-3-guruh 1-bosqich talabasi
Jumayev Alpomish
Tekshirdi: Dasturlash fani o’qituvchisi
Rustamova Mohichehra Yaxshibayevna


TOSHKENT 2023
Noma’lum turlar va noma’lum nomlar fazosi
Ishning maqsadi: C++ dasturlash tilida obyektga yo’naltirilgan dasturlash tamoyilaridan foydalanib noma’lum nomlar fazosini tashkil qilish ko’nikmalarini shakllantirish.
Masalaning qo’yilishi:
Variantda berilgan class, konstruktor va class maydonlari yordamida noma’lum nomlar fazosini yarating. Class da obyektlar massivi ustida quyidagi funksiyalarni bajaruvchi 3 ta static metod yozing:
- Qidirish metodi
- Saralash metodi
- O’zgartirish metodi
Yuqoridagi metodlar uchun class maydonlaridan ixtiyoriysi tanlansin.


14.Eshik va deraza class larini yarating va ularni bog’lovchi funksiyalar yarating.



Kodi:
#include
#include
using namespace std;
namespace eshik_deraza_nomlarfazosi { //yangi nomlar fazosi
class Eshik {
protected: int eni,
buyi,
qalinligi,
hajmi;
string materiali;
public: Eshik() {}
Eshik(int eni, int buyi, int qalinligi, string materiali) {
this -> eni = eni;
this -> buyi = buyi;
this -> qalinligi = qalinligi;
this -> materiali = materiali;
this -> hajmi = eni * buyi * qalinligi;
}
static void qidirish(Eshik * massiv, int n, string material) { //qidirish materiali bo'yicha
for (int i = 0; i < n; i++) {
if (massiv[i].materiali == material) massiv[i].print();
}
}
static void saralash(Eshik * massiv, int n) { //saralash yuzasi(eni*bo'yi*hajmi) bo'yicha
for (int i = 0; i < n; i++) {
for (int j = i + 1; j < n; j++) {
if (massiv[i].hajmi > massiv[j].hajmi)
swap(massiv[i], massiv[j]);
}
}
}
void edit(int eni, int buyi, int qalinligi, string materiali) { //o'zgartirish metodi
this -> eni = eni;
this -> buyi = buyi;
this -> qalinligi = qalinligi;
this -> materiali = materiali;
this -> hajmi = eni * buyi * qalinligi;
}
void print() {
cout << "\nEni va buyi:" << eni << "x" << buyi <<
"\nQalinligi:" << qalinligi <<
"\nMateriali:" << materiali <<
"\nHajmi:" << hajmi << endl;
}
};
class Deraza: public Eshik {
public: Deraza() {}
Deraza(int eni, int buyi, int qalinligi, string materiali) {
this -> eni = eni;
this -> buyi = buyi;
this -> qalinligi = qalinligi;
this -> materiali = materiali;
this -> hajmi = eni * buyi * qalinligi;
}
};
};
int main() {
using namespace eshik_deraza_nomlarfazosi; //Yangi hosil qilingan nomlar fazosidan foydalanish
int n, m;
cout << "Nechta Eshik haqida ma'lumot kiritmoqchisiz?\nn=";
cin >> n;
Eshik * eshiklar = new Eshik[n];
cout << n << " ta eshik ma'lumotlarini kiriting:\n";
for (int i = 0; i < n; i++) {
int eni, buyi, qalinligi;
string materiali;
cout << "\nEshik eni va bo'yini probel bn kiriting:";
cin >> eni >> buyi;
cout << "\nEshikning qalinligini kiriting:";
cin >> qalinligi;
cout << "\nEshik materiali:";
cin >> materiali;
eshiklar[i] = Eshik(eni, buyi, qalinligi, materiali);
}
cout << "\nEshiklarni hajmi bo'yicha saralash:\n";
eshiklar[0].saralash(eshiklar, n);
//Ekranga chiqarish:
for (int i = 0; i < n; i++) {
eshiklar[i].print();
}
cout << "\nQidirish:\nMaterialni kiriting:";
string man;
cin >> man;
eshiklar[0].qidirish(eshiklar, n, man);
cout << "Nechta Deraza haqida ma'lumot kiritmoqchisiz?\nn=";
cin >> n;
Deraza * derazalar = new Deraza[n];
cout << n << " ta deraza ma'lumotlarini kiriting:\n";
for (int i = 0; i < n; i++) {
int eni, buyi, qalinligi;
string materiali;
cout << "\nDeraza eni va bo'yini probel bn kiriting:";
cin >> eni >> buyi;
cout << "\nDeraza qalinligini kiriting:";
cin >> qalinligi;
cout << "\nDeraza materiali:";
cin >> materiali;
derazalar[i] = Deraza(eni, buyi, qalinligi, materiali);
}
cout << "\nDerazalarni saralash hajmi bo'yicha:\n";
derazalar[0].saralash(derazalar, m);
//Ekranga chiqarish:
for (int i = 0; i < m; i++) {
derazalar[i].print();
}
cout << "\nQidirish:\nMaterialni kiriting:";
cin >> man;
derazalar[0].qidirish(derazalar, m, man);
return 0;
};
Natijasi:

Download 106,5 Kb.

Do'stlaringiz bilan baham:




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish