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
// Talaba klasi
class Talaba {
public:
string familiya;
string ism;
string sharif;
string viloyat;
string tuman;
string qishloq;
};
// Viloyatdagi talabalarni sanash funksiyasi
int countTalabalar(vectortalabalar, 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;
}