|
Bekchanov Bekzod Amaliy ish №5 Mavzu: Аssotsiativ konteynerlar (map, multimap). Tartiblanmagan assotsiativ konteynerlar (unordered map, unordered multimap) Masala sharti
|
tarix | 21.06.2023 | ölçüsü | 30,7 Kb. | | #118274 |
| 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:
Dostları ilə paylaş: |
|
|