Muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti 2-amaliy ish
Download 1.3 Mb.
|
MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI 2-AMALIY ISH Fan nomi: Dasturlash 2 Guruh: SWD006-2 (223-22) Bajardi: Ibodova Shaxruza Tekshirdi: Mirzayeva Gulmira Toshkent 2023 1-topshiriq #include #include using namespace std; int main() {
sum_set.erase(0.0f); sum_set.erase(nums.size()); diff_set.erase(0.0f); set sorted_set.insert(diff_set.begin(), diff_set.end()); cout << "Saralangan to'plam: "; for (auto num : sorted_set) { cout << num << " "; } cout << endl; return 0; } Birinchidan, dastur *nums* deb nomlangan suzuvchi nuqtali raqamlar to'plamini yaratadi. Keyinchalik, dastur "sum_set" deb nomlangan bo'sh to'plamni yaratadi, bu "sonlar" dan juft elementlarning yig'indilarini saqlash uchun ishlatiladi. Keyin dastur raqamlardagi elementlarning har bir juftligini aylanib o'tadi va ularning yig'indisini “sum_set”ga qo'shadi. Xuddi shunday, dastur 'diff_set' deb nomlangan bo'sh to'plamni yaratadi, bu 'raqamlar' dan juft elementlarning farqlarini saqlash uchun ishlatiladi. Dastur har bir juft elementni raqamlar bilan aylanib o'tadi va ularning mutlaq farqini diff_set'ga qo'shadi. Keyin dastur “sum_set” va “diff_set” dan har qanday takroriy qiymatlarni olib tashlaydi. Nihoyat, dastur “sum_set” va “diff_set” birikmasidan iborat “sorted_set” nomli yangi to‘plamni yaratadi.“Sorted_set”dagi qiymatlar o‘sish tartibida tartiblangan. Keyin dastur “Saralangan to’plam”-dagi qiymatlarni konsolga chop etadi. 2-topshiriq
#include #include #include #include using namespace std; struct Virus {
int main() { vector {"Worm32", 5, 0.8, "Worm", "ID001"}, {"Trojan51", 10, 0.5, "Trojan", "ID002"}, {"Ransomware13", 15, 0.3, "Ransomware", "ID003"}, {"Adware24", 2, 0.2, "Adware", "ID004"}, {"Spyware10", 8, 0.4, "Spyware", "ID005"} }; string name_query; cout << "Qidirish uchun virus nomini kiriting: "; getline(cin, name_query); float spread_rate_query; cout << "Qidirish uchun tarqalish tezligini kiriting: "; cin >> spread_rate_query; vector for (auto virus : viruses) { if (virus.name == name_query && virus.spread_rate == spread_rate_query) { matching_viruses.push_back(virus); } } char save_file_query; cout << "Natijalar faylga saqlansinmi? (y/n): "; cin >> save_file_query; if (save_file_query == 'y' || save_file_query == 'Y') { string filename; cout << "Fayl nomini kiriting: "; cin >> filename; ofstream outfile(filename); for (auto virus : matching_viruses) {
cout << "Natijalar " << filename << endl; } else { cout << "Mos keluvchi viruslar:" << endl; for (auto virus : matching_viruses) { cout << virus.name << "," << virus.damage << "," << virus.spread_rate << "," << virus.virus_type << "," << virus.internet_id << endl; } } return 0; } Bu dastur avval "Virus" tuzilmalarining vektorini yaratadi, ularning har biri virus nomi, zarar darajasi, tarqalish tezligi, turi va internet identifikatorini o'z ichiga oladi. Keyin u foydalanuvchidan virus nomini va izlash uchun tarqalish tezligini kiritishni taklif qiladi. Keyin dastur vektordagi har bir virusni aylanib chiqadi va uning nomi va tarqalish tezligi foydalanuvchi so‘roviga mos kelishini tekshiradi. Agar virus mos keladigan bo'lsa, u "moslashuvchi_viruslar" deb nomlangan yangi vektorga qo'shiladi. Keyin dastur foydalanuvchiga natijalarni faylga saqlashni xohlashini so'raydi. Agar shunday bo'lsa, dastur foydalanuvchidan fayl nomini so'raydi va mos keladigan viruslarni ushbu faylga yozadi. Agar ular natijalarni faylga saqlashni istamasalar, dastur tugaydi Download 1.3 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling