Bekchanov Bekzod Amaliy ish №5 Mavzu: Аssotsiativ konteynerlar (map, multimap). Tartiblanmagan assotsiativ konteynerlar (unordered map, unordered multimap) Masala sharti


Download 30.7 Kb.
Sana21.06.2023
Hajmi30.7 Kb.
#1645823
Bog'liq
5-amaliy ish



942-22 Bekchanov Bekzod
Amaliy ish №5
Mavzu: Аssotsiativ konteynerlar (map, multimap). Tartiblanmagan assotsiativ konteynerlar (unordered_map, unordered_multimap)

Masala sharti:
Talabalar haqida (familiya, ismi, sharfi, viloyat, tuman va qishloq) to’plam berilgan. Har bir viloyatda nechta talaba borligini aniqlovchi va viloyat, tuman bo’yich talabalarni qidiruvchi dastur tuzing.
Dastur kodi:
#include
#include
#include
#include

using namespace std;

// Talaba klasi
class Talaba {
public:
string familiya;
string ism;
string sharif;
string viloyat;
string tuman;
string qishloq;
};

// Viloyatdagi talabalarni sanash funksiyasi


int countTalabalar(vector talabalar, string viloyat) {
int count = 0;
for (int i = 0; i < talabalar.size(); i++) {
if (talabalar[i].viloyat == viloyat) {
count++;
}
}
return count;
}

// Viloyat va tumandagi talabalarni qidiruvchi funksiya


void searchTalabalar(vector talabalar, string viloyat, string tuman) {
bool found = false;
for (int i = 0; i < talabalar.size(); i++) {
if (talabalar[i].viloyat == viloyat && talabalar[i].tuman == tuman) {
cout << talabalar[i].familiya << " " << talabalar[i].ism << " " << talabalar[i].sharif << endl;
found = true;
}
}
if (!found) {
cout << "Bunday talabalar topilmadi" << endl;
}
}

int main() {


// Foydalanuvchi tomonidan kiritilgan fayl nomi
string filename;
cout << "Ma'lumotlar faylini kiriting: ";
cin >> filename;

// Fayldan ma'lumotlarni o'qish


ifstream file(filename);
if (!file.is_open()) {
cerr << "Fayl ochib bo'lmadi" << endl;
return 1;
}

vector talabalar;


Talaba talaba;

while (file >> talaba.familiya >> talaba.ism >> talaba.sharif >> talaba.viloyat >> talaba.tuman >> talaba.qishloq) {


talabalar.push_back(talaba);
}

// Viloyatlarga ko'ra talabalar sonini hisoblash va chiqarish


cout << "Viloyatlarga ko'ra talabalar soni:" << endl;
cout << "Andijon: " << countTalabalar(talabalar, "Andijon") << endl;
cout << "Buxoro: " << countTalabalar(talabalar, "Buxoro") << endl;
cout << "Jizzax: " << countTalabalar(talabalar, "Jizzax") << endl;
cout << "Qashqadaryo: " << countTalabalar(talabalar, "Qashqadaryo") << endl;
cout << "Samarqand: " << countTalabalar(talabalar, "Samarqand") << endl;
cout << "Toshkent: " << countTalabalar(talabalar, "Toshkent") << endl;

// Viloyat va tuman bo'yicha talabalar qidirish


string viloyat, tuman;
cout << "Viloyat va tumanni kiriting: ";
cin >> viloyat >> tuman;

cout << "Quyidagi talabalar topildi:" << endl;


searchTalabalar(talabalar, viloyat, tuman);

return 0;


}
Natija:


Download 30.7 Kb.

Do'stlaringiz bilan baham:




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