1. for va foreach sikllari


Matnli fayl berilgan. Bu faylda T belgisi bilan boshlanadigan qator bor yoki yo’qligini aniqlang. Agar mavjud bo’lsa ulaning birinchisini toping


Download 65.67 Kb.
bet42/49
Sana19.06.2023
Hajmi65.67 Kb.
#1625730
1   ...   38   39   40   41   42   43   44   45   ...   49
Bog'liq
дəстурлеу жуаплары100

68. Matnli fayl berilgan. Bu faylda T belgisi bilan boshlanadigan qator bor yoki yo’qligini aniqlang. Agar mavjud bo’lsa ulaning birinchisini toping.
Quyidagi C++ kod matnli faylda "T" belgisi bilan boshlanadigan qator bor yoki yo'qligini aniqlaydi va mavjud bo'lsa ulaning birinchisini topadi:
c++
#include
#include
#include
using namespace std;
int main() {
string filename = "matnli_fayl.txt";
ifstream file(filename);
if (!file) {
cerr << "Faylni ochib bo'lmadi!" << endl;
return 1;
}
string line;
int line_number = 1;
bool found = false;
while (getline(file, line)) {
if (line[0] == 'T') {
found = true;
break;
}
line_number++;
}
if (found) {
cout << "Bor! Birinchi qator soni: " << line_number << endl;
} else {
cout << "Yo'q!" << endl;
}
file.close();
return 0;
}
Bu kod matnli_fayl.txt nomli faylni ochib, qatorlarni o'qib oladi va har bir qatorni tekshiradi, "T" belgisi bilan boshlanadigan qator bor yoki yo'qligini aniqlayadi. Agar bor bo'lsa, birinchi qatorni topadi va konsolga chiqaradi. Aks holda "Yo'q!" deb chiqaradi.
69. Matnli fayl berilgan.. Birinchi qatorning eng oxirgi belgisini konsolga chiqaring
#include
#include
#include
using namespace std;
int main() {
string filename = "matnli_fayl.txt";
ifstream file(filename);
if (!file) {
cerr << "Faylni ochib bo'lmadi!" << endl;
return 1;
}
string line;
getline(file, line);
if (line.empty()) {
cout << "Faylda ma'lumot yo'q!" << endl;
return 1;
} char last_char = line[line.length() - 1];
cout << "Birinchi qatorning oxirgi belgisi: " << last_char << endl;
file.close();
return 0; }
70. Ushbu : familiya, amplua, yosh, o’yinlar soni va go’llar soni- maydonlariga ega Player sinfini tuzing. Elementlari Player obyektidan iborat massiv yarating. Eng yaxshi to’purarni va kamida 5-ta o’yin o’ynagan futbolchilar haqidagi ma’lumotni konsolga chiqaring.
#include
#include
#include
using namespace std;
class Player {
public:
string name;
string position;
int age;
int games_played;
int goals_scored;
Player(string n, string p, int a, int g, int gs) {
name = n;
position = p;
age = a;
games_played = g;
goals_scored = gs;
}
};
int main() {
Player players[] = {
Player("Ronaldo", "Forward", 36, 30, 29),
Player("Messi", "Forward", 34, 28, 25),
Player("Neymar", "Forward", 29, 22, 16),
Player("Mbappe", "Forward", 22, 23, 20),
Player("Kane", "Forward", 28, 27, 23),
Player("De Bruyne", "Midfielder", 30, 25, 10),
Player("Salah", "Forward", 29, 26, 22),
Player("Lewandowski", "Forward", 33, 29, 41),
Player("Kante", "Midfielder", 30, 21, 1),
Player("Modric", "Midfielder", 35, 28, 3),
};
int num_players = sizeof(players) / sizeof(players[0]);
sort(players, players + num_players, [](Player a, Player b) {
return a.goals_scored > b.goals_scored;
});
cout << "Kamida 5 ta o'yin o'ynagan futbolchilar:" << endl;
for (int i = 0; i < num_players; i++) {
if (players[i].games_played >= 5) {
cout << players[i].name << " (" << players[i].position << ", " << players[i].age << " yosh) - " << players[i].games_played << " o'yin, " << players[i].goals_scored << " g'ol" << endl;
}
if (i == 4) {
break;
}
} return 0;
}
71.Ushbu: familiya, guruh, fizika,informatika,tarix- maydonlaridan iborat Talaba sinfini tuzing. Elementlari Talaba obyektlaridan iborat massiv yarating. Har bir talabaning o’rtacha balini va 4 balldan yuqori bo’lganlarini chiqaring.
Quyidagi C++ kodda "Talaba" sinfi tuzilgan va "Talaba" obyektidan iborat massiv yaratilgan. Massivda, har bir "Talaba" obyektining familiyasi, guruh raqami, fizika, informatika va tarix fanlaridagi baho saqlanadi. Kod, massivni saralaydi va har bir talabaning o'rtacha bahosini hisoblayadi. Keyin esa, 4 balldan yuqori o'rtacha bahoga ega bo'lgan talabalarni konsolga chiqaradi:
c++
#include
#include
#include
using namespace std;
class Talaba {
public:
string name;
int group;
int physics;
int computer_science;
int history;
Talaba(string n, int g, int p, int cs, int h) {
name = n;
group = g;
physics = p;
computer_science = cs;
history = h;
} float get_average_score() {
return (physics + computer_science + history) / 3.0;
}
}; int main() {
Talaba students[] = {
Talaba("Ali", 1, 85, 90, 95),
Talaba("Vali", 1, 80, 70, 85),
Talaba("Hasan", 2, 75, 85, 80),
Talaba("Husan", 2, 90, 95, 85),
Talaba("Bobur", 3, 60, 70, 65),
Talaba("Gulnora", 3, 80, 90, 85),
Talaba("Dilnoza", 4, 70, 75, 65),
Talaba("Shahzoda", 4, 95, 90, 90),
Talaba("Sardor", 5, 85, 80, 85),
Talaba("Xurshid", 5, 90, 95, 80),
}; int num_students = sizeof(students) / sizeof(students[0]);
sort(students, students + num_students, [](Talaba a, Talaba b) {
return a.get_average_score() > b.get_average_score();
}); cout << "4 balldan yuqori o'rtacha bahoga ega bo'lgan talabalar:" << endl;
for (int i = 0; i < num_students; i++) {
if (students[i].get_average_score() >= 4.0) {
cout << students[i].name << " (guruh " << students[i].group << "): " << students[i].get_average_score() << endl;
}
} return 0;
}
Bu kod "Talaba" sinfini tuzadi va "Talaba" obyektidan iborat massiv yaratadi. Massivda, har bir "Talaba" obyektining familiyasi, guruh raqami, fizika, informatika va tarix fanlaridagi baho saqlanadi. Kod, massivni saralaydi va har bir talabaning o'rtacha bahosini hisoblayadi. Keyin esa, 4 balldan yuqori o'rtacha bahoga ega bo'lgan talabalarni konsolga chiqaradi.
72. Ushbu: sotuvchi, tovar_nomi, soni, narxi, sotilgan kuni- maydonlaridan iborat. Tovar sinfini tuzing. Elementlari Tovar obyektlaridan iborat massiv yarating. Oxirgi bir yilda sotilgan tovarlarni chiqaring.
#include
#include
#include
#include
using namespace std;
class Tovar {
public:
string seller;
string product_name;
int quantity;
float price;
struct tm sold_date;
Tovar(string s, string pn, int q, float p, struct tm sd) {
seller = s;
product_name = pn;
quantity = q;
price = p;
sold_date = sd;
} time_t get_sold_time() {
return mktime(&sold_date);
}
}; int main() {
time_t current_time = time(NULL);
struct tm last_year = *localtime(¤t_time);
last_year.tm_year -= 1;
Tovar products[] = {
Tovar("Ali", "Telefon", 10, 200, { 121, 8, 1, 0, 1, last_year.tm_year }), // 1 avgust 2022
Tovar("Vali", "Kompyuter", 5, 800, { 122, 9, 12, 0, 1, last_year.tm_year }), // 12 sentyabr 2022
Tovar("Hasan", "Televizor", 3, 500, { 122, 10, 3, 0, 1, last_year.tm_year }), // 3 oktabr 2022
Tovar("Husan", "Refrigerator", 2, 700, { 122, 8, 15, 0, 1, last_year.tm_year }), // 15 avgust 2022
Tovar("Bobur", "Kirpich", 1000, 1, { 121, 11, 30, 0, 1, last_year.tm_year }), // 30 dekabr 2022
Tovar("Gulnora", "Kettel", 20, 30, { 121, 11, 20, 0, 1, last_year.tm_year }), // 20 dekabr 2022
Tovar("Dilnoza", "Mikrovolnovka", 7, 50, { 122, 1, 5, 0, 1, last_year.tm_year }), // 5 yanvar 2023
Tovar("Shahzoda", "Og'iz Oshirish mashinasi", 1, 100, { 122, 2, 10, 0, 1, last_year.tm_year }), // 10 fevral 2023
Tovar("Sardor", "Blender", 8, 25, { 122, 3, 2, 0, 1, last_year.tm_year }), // 2 mart 2023
Tovar("Xurshid", "Konditsioner", 2, 400, { 122, 5, 20, 0, 1, last_year.tm_year }), // 20 may 2023
}; int num_products = sizeof(products) / sizeof(products[0]);
sort(products, products + num_products, [](Tovar a, Tovar b) {
return difftime(a.get_sold_time(), b.get_sold_time()) > 0;
}); cout << "Oxirgi bir yilda sotilgan tovarlar:" << endl;
for (int i = 0; i < num_products; i++) {
if (difftime(current_time, products[i].get_sold_time()) <= 31536000) { // 1 yil = 31536000 sekund
cout << products[i].product_name << " (" << products[i].quantity << " ta) - sotuvchi: " << products[i].seller << ", narxi: " << products[i].price << " so'm, sotilgan sana: " << asctime(&products[i].sold_date);
}
} return 0;
}
73. Ushbu: nomi, ishlab chiqaruvchi, narxi, ishlab chiqarilgan kuni, sonimaydonlariga ega Tovar sinfini tuzing. Elementlari Tovar obyektidan iborat massiv yarating. Tovarlar ichida eng qimmatini toping va ularni narxi bo’yicha saralang.
Quyidagi C++ kodda "Tovar" sinfi tuzilgan va "Tovar" obyektidan iborat massiv yaratilgan. Massivda, har bir "Tovar" obyektining nomi, ishlab chiqaruvchisi, narxi, ishlab chiqarilgan kuni va soni saqlanadi. Kod, massivni eng qimmati bo'yicha saralaydi va konsolga chiqaradi:
c++
#include
#include
#include
using namespace std;
class Tovar {
public:
string name;
string manufacturer;
float price;
struct tm production_date;
int quantity;
Tovar(string n, string m, float p, struct tm pd, int q) {
name = n;
manufacturer = m;
price = p;
production_date = pd;
quantity = q;
} float get_total_price() {
return price * quantity;
}
}; int main() {
Tovar products[] = {
Tovar("Telefon", "Samsung", 1000, { 121, 8, 1, 0, 1, 122 }), // 1 avgust 2022
Tovar("Kompyuter", "Apple", 2000, { 122, 9, 12, 0, 1, 121 }), // 12 sentyabr 2021
Tovar("Televizor", "LG", 800, { 121, 10, 3, 0, 1, 122 }), // 3 oktabr 2022
Tovar("Refrigerator", "Beko", 1200, { 122, 8, 15, 0, 1, 122 }), // 15 avgust 2022
Tovar("Kirpich", "Obi", 0.5, { 121, 11, 30, 0, 1, 122 }), // 30 dekabr 2022
Tovar("Kettel", "Philips", 30, { 121, 11, 20, 0, 1, 122 }), // 20 dekabr 2022
Tovar("Mikrovolnovka", "Samsung", 70, { 122, 1, 5, 0, 1, 122 }), // 5 yanvar 2023
Tovar("Og'iz Oshirish mashinasi", "Braun", 150, { 122, 2, 10, 0, 1, 122 }), // 10 fevral 2023
Tovar("Blender", "Bosch", 50, { 122, 3, 2, 0, 1, 122 }), // 2 mart 2023
Tovar("Konditsioner", "LG", 1000, { 122, 5, 20, 0, 1, 122 }), // 20 may 2023
}; int num_products = sizeof(products) / sizeof(products[0]);
sort(products, products + num_products, [](Tovar a, Tovar b) {
return a.price > b.price;
}); cout << "Eng qimmati bo'yicha saralangan tovarlar:" << endl;
for (int i = 0; i < num_products; i++) {
cout << products[i].name << " - ishlab chiqaruvchi: " << products[i].manufacturer << ", narxi: " << products[i].price << " so'm, soni: " << products[i].quantity << ", ishlab chiqarilgan sana: " << asctime(&products[i].production_date);
} return 0;
}
Bu kod "Tovar" sinfini tuzadi va "Tovar" obyektidan iborat massiv yaratadi. Massivda, har bir "Tovar" obyektining nomi, ishlab chiqaruvchisi, narxi, ishlab chiqarilgan kuni va soni saqlanadi. Kod, massivni eng qimmati bo'yicha saralaydi va konsolga chiqaradi. Eng qimmati bo'yicha saralangan tovarlar, ishlab chiqarilgan sana, tovar nomi, ishlab chiqaruvchisi, narxi va soni bilan konsolga chiqariladi.
74. Ushbu: nomi, ishlab chiqaruvchi, ishlab chiqarilgan kuni, soni narximaydonlaridan iborat Tovar sinfini tuzing. Elementlari Tovar obyektidan iborat massiv yarating.Oxirgi yilda ishlab chiqarilgan tovarlarning umumiy narxini toping va tovarlarni nomi bo’yicha saralang.
#include
#include
#include
#include
using namespace std;
class Tovar {
public:
string name;
string manufacturer;
float price;
struct tm production_date;
int quantity;
Tovar(string n, string m, float p, struct tm pd, int q) {
name = n;
manufacturer = m;
price = p;
production_date = pd;
quantity = q;
} float get_total_price() {
return price * quantity;
} int get_year() {
return production_date.tm_year + 1900;
}
}; int main() {
Tovar products[] = {
Tovar("Telefon", "Samsung", 1000, { 121, 8, 1, 0, 1, 122 }, 10), // 1 avgust 2022
Tovar("Kompyuter", "Apple", 2000, { 122, 9, 12, 0, 1, 121 }, 5), // 12 sentyabr 2021
Tovar("Televizor", "LG", 800, { 121, 10, 3, 0, 1, 122 }, 2), // 3 oktabr 2022
Tovar("Refrigerator", "Beko", 1200, { 122, 8, 15, 0, 1, 122 }, 7), // 15 avgust 2022
Tovar("Kirpich", "Obi", 0.5, { 121, 11, 30, 0, 1, 122 }, 100), // 30 dekabr 2022
Tovar("Kettel", "Philips", 30, { 121, 11, 20, 0, 1, 122 }, 20), // 20 dekabr 2022
Tovar("Mikrovolnovka", "Samsung", 70, { 122, 1, 5, 0, 1, 122 }, 3), // 5 yanvar 2023
Tovar
75. Ushbu: avtor, betlar soni, tiraji, nashr qilingan yili- maydonlaridan iborat. Kitob sinfini tuzing.Elementlari Kitob obyektidan iborat massiv yarating. Kitoblarni tiraji bo’yicha saralang va eng ko’p betga ega kitobni chiaring.
Quyidagi C++ kodda "Kitob" sinfi tuzilgan va "Kitob" obyektidan iborat massiv yaratilgan. Massivda, har bir "Kitob" obyektining nomi, avtori, betlar soni, tiraji va nashr qilingan yili saqlanadi. Kod, kitoblarni tiraji bo'yicha saralaydi va eng ko'p betga ega kitobni konsolga chiqaradi:
c++
#include
#include
#include
using namespace std;
class Kitob {
public:
string nomi;
string avtori;
int betlar_soni;
int tiraj;
int nashr_yili;
Kitob(string n, string a, int b, int t, int y) {
nomi = n;
avtori = a;
betlar_soni = b;
tiraj = t;
nashr_yili = y;
} bool operator<(const Kitob& other) const {
return tiraj < other.tiraj;
}
}; int main() {
Kitob kitoblar[] = {
Kitob("Toshbaqa", "Erkin Vohidov", 200, 1000, 2020),
Kitob("Ana tili", "Abdulla Qodiriy", 400, 5000, 2020),
Kitob("Devoni Chingizxon", "G'afur G'ulom", 350, 800, 2019),
Kitob("Qayraqqacha", "Hamid Ismoil", 250, 1200, 2021),
Kitob("Safar baroyi", "Zulfiya", 150, 2000, 2021),
Kitob("Asalda sevgi bor", "Chingiz Aytmatov", 300, 1500, 2018),
Kitob("O'zbekiston tarixi", "Alisher Navoiy", 500, 1000, 2019),
Kitob("Yulduzlar", "Sadriddin Aini", 450, 900, 2020),
Kitob("Dunyoqarashi", "Er-Tosh", 600, 700, 2021),
Kitob("Alpomish", "Bobur Mirzo", 350, 500, 2018)
}; int num_kitoblar = sizeof(kitoblar) / sizeof(kitoblar[0]);
sort(kitoblar, kitoblar + num_kitoblar);
cout << "Kitoblarni tiraji bo'yicha saralangan:" << endl;
for (int i = 0; i < num_kitoblar; i++) {
cout << kitoblar[i].nomi << " - avtori: " << kitoblar[i].avtori << ", betlar soni: " << kitoblar[i].betlar_soni << ", tiraj: " << kitoblar[i].tiraj << ", nashr qilingan yili: " << kitoblar[i].nashr_yili << endl;
} Kitob max_bet_kitob = kit
76. Ushbu: avtor, janri, nomi, tiraji- maydonlaridan iborat Kitob sinfini tuzing. Elementlari Kitob obyektidan iborat massiv yarating. Kitoblarni janri bo’yicha saralang va eng ko’p tirajli kitobni chiqaring.
Quyidagi C++ kodda "Kitob" sinfi tuzilgan va "Kitob" obyektidan iborat massiv yaratilgan. Massivda, har bir "Kitob" obyektining nomi, avtori, janri va tiraji saqlanadi. Kod, kitoblarni janri bo'yicha saralaydi va eng ko'p tirajli kitobni konsolga chiqaradi:
c++
#include
#include
#include
using namespace std;
class Kitob {
public:
string nomi;
string avtori;
string janri;
int tiraj;
Kitob(string n, string a, string j, int t) {
nomi = n;
avtori = a;
janri = j;
tiraj = t;
} bool operator<(const Kitob& other) const {
return janri < other.janri;
}
}; int main() {
Kitob kitoblar[] = {
Kitob("Toshbaqa", "Erkin Vohidov", "romantik", 1000),
Kitob("Ana tili", "Abdulla Qodiriy", "tarixiy", 5000),
Kitob("Devoni Chingizxon", "G'afur G'ulom", "romantik", 800),
Kitob("Qayraqqacha", "Hamid Ismoil", "drama", 1200),
Kitob("Safar baroyi", "Zulfiya", "romantik", 2000),
Kitob("Asalda sevgi bor", "Chingiz Aytmatov", "romantik", 1500),
Kitob("O'zbekiston tarixi", "Alisher Navoiy", "tarixiy", 1000),
Kitob("Yulduzlar", "Sadriddin Aini", "she'riy", 900),
Kitob("Dunyoqarashi", "Er-Tosh", "fantastik", 700),
Kitob("Alpomish", "Bobur Mirzo", "romantik", 500)
}; int num_kitoblar = sizeof(kitoblar) / sizeof(kitoblar[0]);
sort(kitoblar, kitoblar + num_kitoblar);
cout << "Kitoblarni janri bo'yicha saralangan:" << endl;
for (int i = 0; i < num_kitoblar; i++) {
cout << kitoblar[i].nomi << " - avtori: " << kitoblar[i].avtori << ", janri: " << kitoblar[i].janri << ", tiraj: " << kitoblar[i].tiraj << endl;
} Kitob max_tiraj_kitob = kitoblar[0];
for (int i = 1; i < num_kitoblar; i++) {
if (kitoblar[i].tiraj > max_tiraj_kitob.tiraj) {
max_tiraj_kitob = kitoblar[i];
}
} cout << "Eng ko'p tirajga ega kitob: " << max_tiraj_kitob.nomi << " - avtori: " << max_tiraj_kitob.avtori << ", janri: " << max_tiraj_kitob.janri << ", tiraj: " << max_tiraj_kitob.tiraj << endl;
return 0;
} Bu kod "Kitob" sinfini tuzadi va "Kitob" obyektidan iborat massiv yaratadi. Massivda, har bir "Kitob" obyektining nomi, avtori, janri va tiraji saqlanadi. Kod, kitoblarni janri bo'yicha saralaydi va eng ko'p tirajga ega kitobni konsolga chiqaradi.
77. Ushbu: familiya, yoshi, ma’lumoti, lavozimi- maydonlariga ega Ishchi sinfini tuzing. Elementlari Ishchi obyektlaridan iborat massiv yarating. Ishchilarni yoshi bo’yicha saralang, yoshi 30 dan katta va oliy ma’lumotli ishchilarni chiqaring.
Quyidagi C++ kodda "Ishchi" sinfi tuzilgan va "Ishchi" obyektidan iborat massiv yaratilgan. Massivda, har bir "Ishchi" obyektining familiyasi, yoshi, ma'lumoti va lavozimi saqlanadi. Kod, ishchilarni yoshi bo'yicha saralab, yoshi 30 dan katta va oliy ma'lumotli ishchilarni konsolga chiqaradi:
c++
#include
#include
#include
using namespace std;
class Ishchi {
public:
string familiya;
int yosh;
string malumot;
string lavozim;
Ishchi(string f, int y, string m, string l) {
familiya = f;
yosh = y;
malumot = m;
lavozim = l;
} bool operator<(const Ishchi& other) const {
return yosh < other.yosh;
}
}; int main() {
Ishchi ishchilar[] = {
Ishchi("Aliyev", 25, "Oliy", "Menejer"),
Ishchi("Olimov", 32, "Oliy", "Direktor"),
Ishchi("Ismatov", 28, "O'rta", "Menejer"),
Ishchi("Saidov", 40, "Oliy", "Direktor"),
Ishchi("Qosimov", 23, "Oliy", "Menejer"),
Ishchi("Xaydarov", 35, "Oliy", "Direktor"),
Ishchi("Jumayev", 27, "O'rta", "Menejer"),
Ishchi("Ortiqov", 31, "O'rta", "Menejer"),
Ishchi("Qodirov", 29, "O'rta", "Menejer"),
Ishchi("Sultonov", 38, "Oliy", "Direktor")
}; int num_ishchilar = sizeof(ishchilar) / sizeof(ishchilar[0]);
sort(ishchilar, ishchilar + num_ishchilar);
cout << "Ishchilar yoshi bo'yicha saralangan:" << endl;
for (int i = 0; i < num_ishchilar; i++) {
cout << ishchilar[i].familiya << " - yoshi: " << ishchilar[i].yosh << ", ma'lumoti: " << ishchilar[i].malumot << ", lavozimi: " << ishchilar[i].lavozim << endl;
} cout << "Yoshi 30 dan katta va oliy ma'lumotli ishchilar:" << endl;
for (int i = 0; i < num_ishchilar; i++) {
if (ishchilar[i].yosh >= 30 && ishchilar[i].malumot == "Oliy") {
cout << ishchilar[i].familiya << " - yoshi: " << ishchilar[i].yosh << ", ma'lumoti: " << ishchilar[i].malumot << ", lavozimi: " << ishchilar[i].lavozim << endl;
}
} return 0;
}
Bu kod "Ishchi" sinfini tuzadi va "Ishchi" obyektidan iborat massiv yaratadi. Massivda, har bir "Ishchi" obyektining familiyasi, yoshi, ma'lumoti va lavozimi saqlanadi. Kod, ishchilarni yoshi bo'yicha saralab, yoshi 30 dan katta va oliy ma'lumotli ishchilarni konsolga chiqaradi.
78. Ushbu: familiya, yosh, o’yinlar soni, gollar soni- maydonlariga ega Player sinfini tuzing. Elementlari Player obyektlaridan iborat massiv yarating. Futbolchilarning o’rtacha yoshi topilsin va ularni familiyasi bo’yicha saralang
Quyidagi C++ kodda "Player" sinfi tuzilgan va "Player" obyektidan iborat massiv yaratilgan. Massivda, har bir "Player" obyektining familiyasi, yoshi, o'yinlar soni va gollar soni saqlanadi. Kod, futbolchilarning o'rtacha yoshini va ularni familiyasi bo'yicha saralab konsolga chiqaradi:
c++
#include
#include
#include
using namespace std;
class Player {
public:
string familiya;
int yosh;
int oynlar_soni;
int gollar_soni;
Player(string f, int y, int o, int g) {
familiya = f;
yosh = y;
oynlar_soni = o;
gollar_soni = g;
}
};bool compare_by_familiya(const Player& p1, const Player& p2) {
return p1.familiya < p2.familiya;
}int main() {
Player futbolchilar[] = {
Player("Ronaldo", 36, 50, 40),
Player("Messi", 34, 45, 38),
Player("Neymar", 29, 42, 30),
Player("Mbappe", 22, 30, 25),
Player("Salah", 28, 40, 35),
Player("Lewandowski", 32, 38, 33),
Player("De Bruyne", 29, 35, 15),
Player("Kante", 30, 25, 5),
Player("Van Dijk", 29, 20, 3),
Player("Alisson", 28, 0, 0)
}; int num_futbolchilar = sizeof(futbolchilar) / sizeof(futbolchilar[0]);
int total_yosh = 0;
for (int i = 0; i < num_futbolchilar; i++) {
total_yosh += futbolchilar[i].yosh;
} double ortacha_yosh = (double)total_yosh / num_futbolchilar;
sort(futbolchilar, futbolchilar + num_futbolchilar, compare_by_familiya);
cout << "Futbolchilar familiyasi bo'yicha saralangan:" << endl;
for (int i = 0; i < num_futbolchilar; i++) {
cout << futbolchilar[i].familiya << " - yoshi: " << futbolchilar[i].yosh << ", o'yinlar soni: " << futbolchilar[i].oynlar_soni << ", gollar soni: " << futbolchilar[i].gollar_soni << endl;
} cout << "Futbolchilar o'rtacha yoshi: " << ortacha_yosh << endl;
return 0;
} Bu kod "Player" sinfini tuzadi va "Player" obyektidan iborat massiv yaratadi. Massivda, har bir "Player" obyektining familiyasi, yoshi, o'yinlar soni va gollar soni saqlanadi. Kod, futbolchilarning o'rtacha yoshini hisoblaydi va ularni familiyasi bo'yicha saralab konsolga chiqaradi.
79. Ushbu: ijrochi, janr, albom nomi, tiraji-maydonlaridan iborat Plastinka sinfini tuzing. Elementlari Plastinka obyektidan iborat massiv yarating. Plastinkalarni ijrochisi bo’yicha saralang va umumiy tirajlar sonini toping.
Quyidagi C++ kodda "Plastinka" sinfi tuzilgan va "Plastinka" obyektidan iborat massiv yaratilgan. Massivda, har bir "Plastinka" obyektining ijrochisi, janri, albom nomi va tiraji saqlanadi. Kod, Plastinkalarni ijrochisi bo'yicha saralab va umumiy tirajlar sonini hisoblaydi:
c++
#include
#include
#include
using namespace std;
class Plastinka {
public:
string ijrochi;
string janr;
string albom_nomi;
int tiraj;
Plastinka(string i, string j, string a, int t) {
ijrochi = i;
janr = j;
albom_nomi = a;
tiraj = t;
}
}; bool compare_by_ijrochi(const Plastinka& p1, const Plastinka& p2) {
return p1.ijrochi < p2.ijrochi;
} int main() {
Plastinka plastinkalar[] = {
Plastinka("Michael Jackson", "Pop", "Thriller", 110000000),
Plastinka("The Beatles", "Rock", "Sgt. Pepper's Lonely Hearts Club Band", 32000000),
Plastinka("Pink Floyd", "Rock", "The Dark Side of the Moon", 45000000),
Plastinka("Elton John", "Pop", "Goodbye Yellow Brick Road", 31000000),
Plastinka("Led Zeppelin", "Rock", "Led Zeppelin IV", 37000000),
Plastinka("Queen", "Rock", "A Night at the Opera", 13000000),
Plastinka("AC/DC", "Rock", "Back in Black", 50000000),
Plastinka("Eminem", "Rap", "The Marshall Mathers LP", 35000000),
Plastinka("Bob Marley", "Reggae", "Legend", 33000000),
Plastinka("Madonna", "Pop", "Like a Virgin", 21000000)
}; int num_plastinkalar = sizeof(plastinkalar) / sizeof(plastinkalar[0]);
sort(plastinkalar, plastinkalar + num_plastinkalar, compare_by_ijrochi);
cout << "Plastinkalar ijrochisi bo'yicha saralangan:" << endl;
for (int i = 0; i < num_plastinkalar; i++) {
cout << plastinkalar[i].ijrochi << " - janri: " << plastinkalar[i].janr << ", albom nomi: " << plastinkalar[i].albom_nomi << ", tiraj: " << plastinkalar[i].tiraj << endl;
} int umumiy_tiraj = 0;
for (int i = 0; i < num_plastinkalar; i++) {
umumiy_tiraj += plastinkalar[i].tiraj;
} cout << "Umumiy tirajlar soni: " << umumiy_tiraj << endl;
return 0;
} Bu kod "Plastinka" sinfini tuzadi va "Plastinka" obyektidan iborat massiv yaratadi. Massivda, har bir "Plastinka" obyektining ijrochisi, janri, albom nomi va tiraji saqlanadi. Kod, Plastinkalarni ijrochisi bo'yicha saralab va umumiy tirajlar sonini hisoblaydi.
80. Ushbu: ishlab chiqaruvchi, operativ xotirasi, ishlab chiqarilgan kuni, narximaydonlariga ega Kompyuter sinfini tuzing. Elementlari Kompyuter obyektlaridan iborat massiv yarating. Kompyuterlarni narxi bo’yicha saralang va AMD kompaniyasida ishlab chilgan eng katta operativ xotiraga ega kompyuterni toping
Quyidagi C++ kodda "Kompyuter" sinfi tuzilgan va "Kompyuter" obyektidan iborat massiv yaratilgan. Massivda, har bir "Kompyuter" obyektining ishlab chiqaruvchisi, operativ xotirasi, ishlab chiqarilgan kuni va narxi saqlanadi. Kod, Kompyuterlarni narxi bo'yicha saralab AMD kompaniyasida ishlab chilgan eng katta operativ xotiraga ega kompyuterni topadi:
c++
#include
#include
#include
using namespace std;
class Kompyuter {
public:
string ishlab_chiqaruvchi;
int operativ_xotira;
string ishlab_chiqarilgan_kun;
double narx;
Kompyuter(string i, int o, string k, double n) {
ishlab_chiqaruvchi = i;
operativ_xotira = o;
ishlab_chiqarilgan_kun = k;
narx = n;
}
}; bool compare_by_narx(const Kompyuter& k1, const Kompyuter& k2) {
return k1.narx < k2.narx;
} int main() {
Kompyuter kompyuterlar[] = {
Kompyuter("Dell", 16, "2021/01/15", 1200.0),
Kompyuter("HP", 8, "2020/11/20", 800.0),
Kompyuter("Lenovo", 32, "2021/02/10", 1500.0),
Kompyuter("Apple", 16, "2020/10/01", 2000.0),
Kompyuter("Asus", 16, "2021/03/05", 1000.0),
Kompyuter("Acer", 8, "2021/04/02", 600.0),
Kompyuter("MSI", 32, "2021/05/20", 1800.0),
Kompyuter("Huawei", 16, "2021/06/15", 1100.0),
Kompyuter("Samsung", 8, "2021/07/10", 700.0),
Kompyuter("Microsoft", 16, "2021/08/01", 1500.0)
}; int num_kompyuterlar = sizeof(kompyuterlar) / sizeof(kompyuterlar[0]);
sort(kompyuterlar, kompyuterlar + num_kompyuterlar, compare_by_narx);
cout << "Kompyuterlar narxi bo'yicha saralangan:" << endl;
for (int i = 0; i < num_kompyuterlar; i++) {
cout << kompyuterlar[i].ishlab_chiqaruvchi << " - operativ xotirasi: " << kompyuterlar[i].operativ_xotira << "GB, ishlab chiqarilgan kun: " << kompyuterlar[i].ishlab_chiqarilgan_kun << ", narxi: $" << kompyuterlar[i].narx << endl;
} Kompyuter eng_katta_op_xotiraga_ega_kompyuter = kompyuterlar[0];
for (int i = 1; i < num_kompyuterlar; i++) {
if (kompyuterlar[i].operativ_xotira > eng_katta_op_xotiraga_ega_kompyuter.operativ_xotira && kompyuterlar[i].ishlab_chiqaruvchi == "AMD") {
eng_katta_op_xotiraga_ega_kompyuter = kompyuterlar[i];
}
} cout << "AMD kompaniyasida ishlab chiqarilgan eng katta operativ xotiraga ega kompyuter: " << endl;
cout << eng_katta_op_xotiraga_ega_kompyuter.ishlab_chiqaruvchi << " - operativ xotirasi: " << eng_katta_op_xotiraga_ega_kompyuter.operativ_xotira << "GB, ishlab chiqarilgan kun: " << eng_katta_op_xotiraga_ega_kompyuter.ishlab_chiqarilgan_kun << ", narxi: $" << eng_katta_op_xotiraga_ega_kompyuter.narxKod yozilgan. Bu kod "Kompyuter" sinfini tuzadi va "Kompyuter" obyektidan iborat massiv yaratadi. Massivda, har bir "Kompyuter" obyektining ishlab chiqaruvchisi, operativ xotirasi, ishlab chiqarilgan kuni va narxi saqlanadi. Kod, Kompyuterlarni narxi bo'yicha saralab AMD kompaniyasida ishlab chilgan eng katta operativ xotiraga ega kompyuterni topadi.
81. Usgbu: familiya, ismi, otasining ismi, jinsi, lavozimi, tug’ilgan kunimaydonlariga ega Injener sinfini tuzing. Elementlari Injener obyektlaridan iborat massiv yarating. Massivni familyasi bo’yicha saralang va nafaqa yoshidagi (erkaklar 65, ayollar 60) injenerlarni toping.
Quyidagi C++ kodda "Poyezd" sinfi tuzilgan va "Poyezd" obyektidan iborat massiv yaratilgan. Massivda, har bir "Poyezd" obyektining poezd nomeri, kelish punkti va vaqti, chiqish punkti va vaqti saqlanadi. Kod, bir punktdan ikkinchisiga yetish uchun ketgan vaqti 7 soat 20 minutdan ko’p bo’lgan poyezdlarni topadi:
c++
#include
#include
using namespace std;
class Poyezd {
public:
string nomer;
string kelish_punkti;
string kelish_vaqt;
string chiqish_punkti;
string chiqish_vaqt;
Poyezd(string n, string kp, string kv, string cp, string cv) {
nomer = n;
kelish_punkti = kp;
kelish_vaqt = kv;
chiqish_punkti = cp;
chiqish_vaqt = cv;
}
}; int main() {
Poyezd poyezdlar[] = {
Poyezd("001", "Toshkent", "08:00", "Samarqand", "15:00"),
Poyezd("002", "Samarqand", "09:00", "Toshkent", "16:00"),
Poyezd("003", "Andijon", "10:00", "Namangan", "12:00"),
Poyezd("004", "Namangan", "11:00", "Andijon", "13:00"),
Poyezd("005", "Bukhara", "12:00", "Qarshi", "17:00"),
Poyezd("006", "Qarshi", "13:00", "Bukhara", "18:00"),
Poyezd("007", "Nukus", "14:00", "Urgench", "15:30"),
Poyezd("008", "Urgench", "15:00", "Nukus", "16:30"),
Poyezd("009", "Termez", "16:00", "Jizzax", "22:00"),
Poyezd("010", "Jizzax", "17:00", "Termez", "23:00")
}; int num_poyezdlar = sizeof(poyezdlar) / sizeof(poyezdlar[0]);
cout << "Yetish uchun ketgan vaqti 7 soat 20 minutdan ko’p bo’lgan poyezdlar:" << endl;
for (int i = 0; i < num_poyezdlar; i++) {
string kelish_vaqt = poyezdlar[i].kelish_vaqt;
string chiqish_vaqt = poyezdlar[i].chiqish_vaqt;
int kelish_soat = stoi(kelish_vaqt.substr(0, 2));
int kelish_daqiqa = stoi(kelish_vaqt.substr(3, 2));
int chiqish_soat = stoi(chiqish_vaqt.substr(0, 2));
int chiqish_daqiqa = stoi(chiqish_vaqt.substr(3, 2));
int kelish_vaqt_daqiqa = kelish_soat * 60 + kelish_daqiqa;
int chiqish_vaqt_daqiqa = chiqish_soat * 60 + chiqish_daqiqa;
if (chiqish_vaqt_daqiqa - kelish_vaqt_daqiqa > 440) {
cout << poyezdlar[i].nomer << " - kelish punkti: " << poyezdlar[i].kelish_punkti << ", kelish vaqti: " << kelish_vaqt << ", chiqish punkti: " << poyezdlar[i].chiqish_punkti << ", chiqish vaqti: " << chiqish_vaqt << endl;
}
} return 0;
}
Bu kod "Poyezd" sinfini tuzadi va "Poyezd" obyektidan iborat massiv yaratadi. Massivda, har bir "Poyezd" obyektining poezd nomeri, kelish punkti va vaqti, chiqish punkti va vaqti saqlanadi. Kodsoat va daqiqa ko'rinishidagi vaqtlarni string tipidagi o'zgaruvchilarda saqlab, ularni int tipiga aylantirib, bir punktdan boshqa punktga yetish uchun kerak bo'lgan vaqt miqdorini hisoblaydi. Agar bu vaqt 7 soat 20 minutdan ko’p bo'lsa, Poyezd obyektini konsolga chiqaradi.
82. Ushbu: poezd nomeri, kelish punkti va vaqti, chiqish punkti va vaqtimaydonlariga ega Poyezd sinfini tuzing. Elementlari Poyezd obyektlaridan iborat massiv yarating. Bir punktdan ikkinchisiga yetish uchun ketgan vaqti 7 soat 20 minutdan ko’p bo’lgan poyezdlarni toping.
Quyidagi C++ kodda "Poyezd" sinfi tuzilgan va "Poyezd" obyektidan iborat massiv yaratilgan. Massivda, har bir "Poyezd" obyektining poezd nomeri, kelish punkti va vaqti, chiqish punkti va vaqti saqlanadi. Kod, bir punktdan ikkinchisiga yetish uchun ketgan vaqti 7 soat 20 minutdan ko’p bo’lgan poyezdlarni topadi:
c++
#include
#include
using namespace std;
class Poyezd {
public:
string nomer;
string kelish_punkti;
string kelish_vaqt;
string chiqish_punkti;
string chiqish_vaqt;
Poyezd(string n, string kp, string kv, string cp, string cv) {
nomer = n;
kelish_punkti = kp;
kelish_vaqt = kv;
chiqish_punkti = cp;
chiqish_vaqt = cv;
}
};
int main() {
Poyezd poyezdlar[] = {
Poyezd("001", "Toshkent", "08:00", "Samarqand", "15:00"),
Poyezd("002", "Samarqand", "09:00", "Toshkent", "16:00"),
Poyezd("003", "Andijon", "10:00", "Namangan", "12:00"),
Poyezd("004", "Namangan", "11:00", "Andijon", "13:00"),
Poyezd("005", "Bukhara", "12:00", "Qarshi", "17:00"),
Poyezd("006", "Qarshi", "13:00", "Bukhara", "18:00"),
Poyezd("007", "Nukus", "14:00", "Urgench", "15:30"),
Poyezd("008", "Urgench", "15:00", "Nukus", "16:30"),
Poyezd("009", "Termez", "16:00", "Jizzax", "22:00"),
Poyezd("010", "Jizzax", "17:00", "Termez", "23:00")
};
int num_poyezdlar = sizeof(poyezdlar) / sizeof(poyezdlar[0]);
cout << "Yetish uchun ketgan vaqti 7 soat 20 minutdan ko’p bo’lgan poyezdlar:" << endl;
for (int i = 0; i < num_poyezdlar; i++) {
string kelish_vaqt = poyezdlar[i].kelish_vaqt;
string chiqish_vaqt = poyezdlar[i].chiqish_vaqt;
int kelish_soat = stoi(kelish_vaqt.substr(0, 2));
int kelish_daqiqa = stoi(kelish_vaqt.substr(3, 2));
int chiqish_soat = stoi(chiqish_vaqt.substr(0, 2));
int chiqish_daqiqa = stoi(chiqish_vaqt.substr(3, 2));
int kelish_vaqt_daqiqa = kelish_soat * 60 + kelish_daqiqa;
int chiqish_vaqt_daqiqa = chiqish_soat * 60 + chiqish_daqiqa;
if (chiqish_vaqt_daqiqa - kelish_vaqt_daqiqa > 440) {
cout << poyezdlar[i].nomer << " - kelish punkti: " << poyezdlar[i].kelish_punkti << ", kelish vaqti: " << kelish_vaqt << ", chiqish punkti: " << poyezdlar[i].chiqish_punkti << ", chiqish vaqti: " << chiqish_vaqt << endl;
}
}
return 0;
}
Bu kod "Poyezd" sinfini tuzadi va "Poyezd" obyektidan iborat massiv yaratadi. Massivda, har bir "Poyezd" obyektining poezd nomeri, kelish punkti va vaqti, chiqish punkti va vaqti saqlanadi. Kod, bir punktdan ikkinchisiga yetish uchun ketgan vaqti 7 soat 20 minutdan ko’p bo’lgan poyezdlarni topish uchun foydalaniladi.
Poyezd sinfi, nomer, kelish_punkti, kelish_vaqt, chiqish_punkti, chiqish_vaqt o'zgaruvchilaridan iboratdir. Poyezd sinfi tuzilganida, nomer, kelish_punkti, kelish_vaqt, chiqish_punkti, chiqish_vaqt qiymatlari parametr sifatida beriladi va Poyezd obyekti yaratiladi.
main funksiyasi massivda turli Poyezd obyektlarini saqlaydi va num_poyezdlar o'zgaruvchisiga massiv hajmini saqlaydi. Keyin, for tsikli orqali har bir poyezdning kelish vaqti va chiqish vaqti o'zgaruvchilarga saqlanadi va stoi funktsiyasi orqali string qiymatlari integer qiymatiga aylantiriladi. Keyin, kelish vaqti va chiqish vaqti orqali ketish uchun kerak bo'lgan vaqt miqdori hisoblanadi. Agar bu vaqt 7 soat 20 minutdan ko'p bo'lsa, Poyezd obyekti konsolga chiqariladi.
83.Ushbu: familiya, ism, otasining ismi, lavozimi, oylik, tug’ilgan kunmaydonlariga ega Xodim sinfini tuzing. Elementlari Xodim obyektlaridan iborat massiv yarating. Xodimlar orasidan oyligi o’rtacha oylikdan yuqori va yoshi 30 dan kattalarini toping.
Quyidagi C++ kodda "Xodim" sinfi tuzilgan va "Xodim" obyektidan iborat massiv yaratilgan. Massivda, har bir "Xodim" obyektining familiyasi, ismi, otasining ismi, lavozimi, oylik va tug'ilgan kunmaydonlari saqlanadi. Kod, Xodimlar orasidan oyligi o’rtacha oylikdan yuqori va yoshi 30 dan kattalarini topadi:
c++
#include
#include
using namespace std;
class Xodim {
public:
string familiya;
string ism;
string otasining_ismi;
string lavozim;
float oylik;
string tugilgan_kun;
Xodim(string f, string i, string o, string l, float oyl, string t) {
familiya = f;
ism = i;
otasining_ismi = o;
lavozim = l;
oylik = oyl;
tugilgan_kun = t;
}
int yosh() {
int kun = stoi(tugilgan_kun.substr(0, 2));
int oy = stoi(tugilgan_kun.substr(3, 2));
int yil = stoi(tugilgan_kun.substr(6, 4));
int joriy_kun = 7; // Bu kodni ishga tushirgan sana 2023-06-07
int joriy_oy = 6; // Bu kodni ishga tushirgan sana 2023-06-07
int joriy_yil = 2023; // Bu kodni ishga tushirgan sana 2023-06-07

int yosh = joriy_yil - yil;
if (joriy_oy < oy || (joriy_oy == oy && joriy_kun < kun)) {
yosh--;
}
return yosh;
}
};
int main() {
Xodim xodimlar[] = {
Xodim("Aliyev", "Azamat", "Sukhrobovich", "Menejer", 1500000, "11.05.1991"),
Xodim("Ivanov", "Ivan", "Ivanovich", "Programmist", 2000000, "22.09.1985"),
Xodim("Saidov", "Said", "Saidovich", "HR-menejer", 1000000, "02.12.1998"),
Xodim("Kim", "Sung", "Chulovich", "Dizayner", 2500000, "01.01.1980"),
Xodim("Smith", "John", "Williamovich", "Buxgalter", 1800000, "18.07.1995")
};
int num_xodimlar = sizeof(xodimlar) / sizeof(xodimlar[0]);
float oylar_urtacha = 0;
int xodimlar_soni = 0;
cout << "Oyligi o’rtacha oylikdan yuqori va yoshi 30 dan kattalar:" << endl;
for (int i = 0; i < num_xodimlar; i++) {
if (xodimlar[i].oylik > oylar_urtacha && xodimlar[i].yosh() > 30) {
cout << xodimlar[i].familiya << " " << xodimlar[i].ism << " " << xodimlar[i].otasining_ismi << " - lavozim: " << xodimlar[i].lavozim << ", oylik: " << xodimlar[i].oylik << ", tug'ilgan kun: " << xodimlar[i].tugilgan_kun << endl;
xodimlar_soni++;
oylar_urtacha += (xodimlar[i].oylik - oylar_urtacha) / xodimlar_soni; // oylar_urtacha ni yangilash
}
}
return 0;
}
Bu kod "Xodim" sinfini tuzadi va "Xodim" obyektidan iborat massiv yaratadi. Massivda, har bir "Xodim" obyektining familiyasi, ismi, otasining ismi, lavozimi,oylik va tug'ilgan kunmaydonlari saqlanadi. Dastur, yuqorida belgilangan shartlarga mos keladigan "Xodim" obyektlarini topadi va ularning ma'lumotlarini ekranga chiqaradi.
"yosh()" funksiyasi "Xodim" obyektining tug'ilgan kunmaydonlaridan yoshini hisoblaydi. "main()" funksiyasi esa "Xodim" obyektidan iborat massiv yaratadi va massivdagi har bir "Xodim" obyektini tekshiradi. "Xodim" obyektlari oyligi o’rtacha oylikdan yuqori va yoshi 30 dan kattaga mos kelishi shartini tekshiriladi. Shartga mos keladigan har bir "Xodim" obyekti ekranga chiqariladi.
84. Ushbu: familiya, ism, otasining ismi, lavozimi, oylik, tug’ilgan kunmaydonlariga ega Xodim sinfini tuzing. Elementlari Xodim obyektlaridan iborat massiv yarating. Xodimlarni familiyasi bo’yicha saralang va eng ko’p oylik oluvchi xodimni toping.
Quyidagi C++ kodda "Xodim" sinfi tuzilgan va "Xodim" obyektidan iborat massiv yaratilgan. Massivda, har bir "Xodim" obyektining familiyasi, ismi, otasining ismi, lavozimi, oylik va tug'ilgan kunmaydonlari saqlanadi. Kod, Xodim obyektlarini familiyasi bo'yicha saralaydi va massivdan eng ko'p oylik oluvchi xodimni topadi:
c++
#include
#include
#include
using namespace std;
class Xodim {
public:
string familiya;
string ism;
string otasining_ismi;
string lavozim;
float oylik;
string tugilgan_kun;
Xodim(string f, string i, string o, string l, float oyl, string t) {
familiya = f;
ism = i;
otasining_ismi = o;
lavozim = l;
oylik = oyl;
tugilgan_kun = t;
}

int yosh() {
int kun = stoi(tugilgan_kun.substr(0, 2));
int oy = stoi(tugilgan_kun.substr(3, 2));
int yil = stoi(tugilgan_kun.substr(6, 4));
int joriy_kun = 7; // Bu kodni ishga tushirgan sana 2023-06-07
int joriy_oy = 6; // Bu kodni ishga tushirgan sana 2023-06-07
int joriy_yil = 2023; // Bu kodni ishga tushirgan sana 2023-06-07

int yosh = joriy_yil - yil;
if (joriy_oy < oy || (joriy_oy == oy && joriy_kun < kun)) {
yosh--;
}
return yosh;
}
};
bool compareByOylik(Xodim &a, Xodim &b) // Oylik bo'yicha saralash uchun funksiya
{
return a.oylik > b.oylik;
}
int main() {
Xodim xodimlar[] = {
Xodim("Aliyev", "Azamat", "Sukhrobovich", "Menejer", 1500000, "11.05.1991"),
Xodim("Ivanov", "Ivan", "Ivanovich", "Programmist", 2000000, "22.09.1985"),
Xodim("Saidov", "Said", "Saidovich", "HR-menejer", 1000000, "02.12.1998"),
Xodim("Kim", "Sung", "Chulovich", "Dizayner", 2500000, "01.01.1980"),
Xodim("Smith", "John", "Williamovich", "Buxgalter", 1800000, "18.07.1995")
};
int num_xodimlar = sizeof(xodimlar) / sizeof(xodimlar[0]);
// Xodimlarni familiyasi bo'yicha saralash
sort(xodimlar, xodimlar + num_xodimlar, [](Xodim &a, Xodim &b) { return a.familiya < b.familiya; });
// Eng ko'p oylik oluvchi xodimni topish
sort(xodimlar, xodimlar + num_xodimlar, compareByOylik);
Xodim eng_oylik_xodim = xodimlar[0];

cout << "Xodimlar familiyasi bo'yicha saralandi:" << endl;
for (int i = 0; i < num_xodimlar; i++) {
cout << xodimlar[i].familiya << " " << xodimlar[i].ism << " " << xodimlar[i].otasining_ismi << " - lavozim: " << xodimlar[i].lavozim << ", oylik: " << xodimlar[i].oylik << ", tug'ilgan kun: " << xodimlar[i].tugilgan_kun << endl;
}
cout << endl << "Engko'p oylik oluvchi xodim:" << endl;
cout << eng_oylik_xodim.familiya << " " << eng_oylik_xodim.ism << " " << eng_oylik_xodim.otasining_ismi << " - lavozim: " << eng_oylik_xodim.lavozim << ", oylik: " << eng_oylik_xodim.oylik << ", tug'ilgan kun: " << eng_oylik_xodim.tugilgan_kun << endl;
return 0;
}
Kod yuqorida belgilangan shartlarga mos keladigan "Xodim" obyektlarini topadi va ularning ma'lumotlarini ekranga chiqaradi. Massivdagi "Xodim" obyektlari familiyasi bo'yicha saralangan va eng ko'p oylik oluvchi xodim aniqlangan.
85. Ushbu: marka, ishlab chiqaruvchi, tip, yili, registratsiya qilingan kunimaydonlariga ega Avtomobil sinfini tuzing. Elementlari Avtomobil obyektlaridan iborat massiv yarating. Avtomobillarni markasi bo’yicha saralang va 2007 yildan keyin ishlab charilgan “Toyota” markali avtomobillarni chiqaring.
Quyidagi C++ kodda "Avtomobil" sinfi tuzilgan va "Avtomobil" obyektidan iborat massiv yaratilgan. Massivda, har bir "Avtomobil" obyektining markasi, ishlab chiqaruvchisi, tipi, yili va registratsiya qilingan kunmaydonlari saqlanadi. Kod, Avtomobil obyektlarini markasi bo'yicha saralaydi va 2007 yilidan keyin ishlab chiqarilgan "Toyota" markali avtomobillarni chiqaradi:
`c++
#include
#include
#include
using namespace std;
class Avtomobil {
public:
string marka;
string ishlab_chiqaruvchi;
string tip;
int yil;
string registratsiya_kun;
Avtomobil(string m, string ic, string t, int y, string rk) {
marka = m;
ishlab_chiqaruvchi = ic;
tip = t;
yil = y;
registratsiya_kun = rk;
}
int yosh() {
int kun = stoi(registratsiya_kun.substr(0, 2));
int oy = stoi(registratsiya_kun.substr(3, 2));
int yil = stoi(registratsiya_kun.substr(6, 4));
int joriy_kun = 7; // Bu kodni ishga tushirgan sana 2023-06-07
int joriy_oy = 6; // Bu kodni ishga tushirgan sana 2023-06-07
int joriy_yil = 2023; // Bu kodni ishga tushirgan sana 2023-06-07
int yosh = joriy_yil - yil;
if (joriy_oy < oy || (joriy_oy == oy && joriy_kun < kun)) {
yosh--;
}
return yosh;
}
};

bool compareByMarka(Avtomobil &a, Avtomobil &b) // Marka bo'yicha saralash uchun funksiya
{
return a.marka < b.marka;
}
int main() {
Avtomobil avtomobillar[] = {
Avtomobil("Toyota", "Toyota Motor Corporation", "Camry", 2010, "15.03.2011"),
Avtomobil("Lada", "AvtoVAZ", "Vesta", 2018, "12.07.2018"),
Avtomobil("Mercedes-Benz", "Daimler AG", "S-class", 2005, "01.01.2006"),
Avtomobil("Toyota", "Toyota Motor Corporation", "Corolla", 2020, "05.02.2020"),
Avtomobil("BMW", "Bayerische Motoren Werke AG", "5-series", 2015, "20.12.2015")
};
int num_avtomobillar = sizeof(avtomobillar) / sizeof(avtomobillar[0]);
// Avtomobillarni markasi bo'yicha saralash
sort(avtomobillar, avtomobillar + num_avtomobillar, compareByMarka);
cout << "Avtomobillar markasi bo'yicha saralandi:" << endl;
for (int i = 0; i < num_avtomobillar; i++) {
cout << avtomobillar[i].marka << " " << avtomobillar[i].ishlab_chiqaruvchi << " " << avtomobillar[i].tip << " - ishlab chiqarilgan yili: " << avtomobillar[i].yil << ", registratsiya qilingan kun: " << avtomobillar[i].registratsiya_kun << endl;
}

cout << endl << "2007 yilidan keyin ishlab chiqarilgan Toyota markali avtomobillar:" << endl;
for (int i = 0; i < num_avtomobillar; i++) {
if (avtomobillar[i].marka == "Toyota" && avtomobillar[i].yil >= 2007) {
cout << avtomobillar[i].ishlab_chiqaruvchi << " " << avtomobillar[i].tip << " - ishlab chiqarilgan yili: " << avtomobillar[i].yil << ", registratsiya qilingan kun: " << avtomobillar[i].registratsiya_kun << endl;
}
}
return 0;
}
86.Ushbu: familya, ism, otasining ismi, lavozimi,oylik,tug’ilgan kunimaydonlaridan tashkil topgan Xodim sinfini tuzing. Elementlari Xodim obyektlaridan iborat massiv yarating. Xodimlarni oyligi bo’yicha saralang va may oyida tug’ilganlarini toping
Quyidagi C++ kodda "Xodim" sinfi tuzilgan va "Xodim" obyektidan iborat massiv yaratilgan. Massivda, har bir "Xodim" obyektining familiyasi, ismi, otasining ismi, lavozimi, oylik maoshi va tug'ilgan kunmaydonlari saqlanadi. Kod, Xodim obyektlarini oyligi bo'yicha saralaydi va may oyida tug'ilgan Xodimlarning ro'yxatini chiqaradi:
c++
#include
#include
#include
using namespace std;
class Xodim {
public:
string familiya;
string ism;
string otasining_ismi;
string lavozim;
int oylik_maosh;
string tugilgan_kun;

Xodim(string f, string i, string o, string l, int m, string tk) {
familiya = f;
ism = i;
otasining_ismi = o;
lavozim = l;
oylik_maosh = m;
tugilgan_kun = tk;
}
int yosh() {
int kun = stoi(tugilgan_kun.substr(0, 2));
int oy = stoi(tugilgan_kun.substr(3, 2));
int yil = stoi(tugilgan_kun.substr(6, 4));
int joriy_kun = 7; // Bu kodni ishga tushirgan sana 2023-06-07
int joriy_oy = 6; // Bu kodni ishga tushirgan sana 2023-06-07
int joriy_yil = 2023; // Bu kodni ishga tushirgan sana 2023-06-07
int yosh = joriy_yil - yil;
if (joriy_oy < oy || (joriy_oy == oy && joriy_kun < kun)) {
yosh--;
}
return yosh;
}
};
bool compareByMaosh(Xodim &a, Xodim &b) // Oylik maoshi bo'yicha saralash uchun funksiya
{
return a.oylik_maosh > b.oylik_maosh;
}

int main() {
Xodim xodimlar[] = {
Xodim("Ivanov", "Ivan", "Ivanovich", "Direktor", 5000, "01.01.1980"),
Xodim("Petrov", "Petr", "Petrovich", "Buxgalter", 3000, "10.03.1990"),
Xodim("Sidorova", "Olga", "Viktorovna", "Menejer", 4000, "15.05.1985"),
Xodim("Kuznetsov", "Sergey", "Petrovich", "O'qituvchi", 2000, "25.07.1995"),
Xodim("Nikolaev", "Nikolay", "Ivanovich", "Kassir", 1500, "05.12.2000")
};
int num_xodimlar = sizeof(xodimlar) / sizeof(xodimlar[0]);
// Xodimlarni oyligi bo'yicha saralash
sort(xodimlar, xodimlar + num_xodimlar, compareByMaosh);
cout << "Xodimlar oyligi bo'yicha saralandi:" << endl;
for (int i = 0; i < num_xodimlar; i++) {
cout << xodimlar[i].familiya << " " << xodimlar[i].ism << " " << xodimlar[i].otasining_ismi << " - lavozimi: " << xodimlar[i].lavozim << ", oylik maoshi: " << xodimlar[i].oylik_maosh << endl;
}
cout << endl << "May oyida tug'ilgan xodimlar:" << endl;
for (int i = 0; i < num_xodimlar; i++) {
int oy = stoi(xodimlar[i].tugilgan_kun.substr(3, 2));
if (oy == 6) {
cout << xodimlar[i].familiya << " " << xodimlar[i].ism << " " << xodimlar[i].otasining_ismi << " - tug'ilgan kun: " << xodimlar[i].tugilgan_kun << endl;
}
}
return 0;
}
87. Ushbu: nomer,kelish vaqti, chiqish vaqti, yo’nalishi, masofa- maydonlariga ega Poyezd sinfini tuzing. Elementlari Poyezd obyektlaridan iborat massiv yarating. Har bir poyezdning o’rtacha tezligi topilsin.
Quyidagi C++ kodda "Poyezd" sinfi tuzilgan va "Poyezd" obyektidan iborat massiv yaratilgan. Massivda, har bir "Poyezd" obyektining nomeri, kelish vaqti, chiqish vaqti, yo'nalishi, masofasi saqlanadi. Kod, Poyezd obyektlarining o'rtacha tezligini topadi:
c++
#include
#include
#include
using namespace std;
class Poyezd {
public:
int nomer;
string kelish_vaqti;
string chiqish_vaqti;
string yo_nalish;
int masofa;
Poyezd(int n, string kv, string cv, string y, int m) {
nomer = n;
kelish_vaqti = kv;
chiqish_vaqti = cv;
yo_nalish = y;
masofa = m;
}
float ortacha_tezlik() {
int kelish_soat = stoi(kelish_vaqti.substr(0, 2));
int kelish_minut = stoi(kelish_vaqti.substr(3, 2));
int chiqish_soat = stoi(chiqish_vaqti.substr(0, 2));
int chiqish_minut = stoi(chiqish_vaqti.substr(3, 2));

int kelish_vaqti_daqiqa = kelish_soat * 60 + kelish_minut;
int chiqish_vaqti_daqiqa = chiqish_soat * 60 + chiqish_minut;
float tezlik = (float) masofa / (chiqish_vaqti_daqiqa - kelish_vaqti_daqiqa) * 60;
return tezlik;
}
};
int main() {
Poyezd poyezdlar[] = {
Poyezd(1, "07:30", "10:45", "Toshkent", 300),
Poyezd(2, "08:15", "11:20", "Namangan", 250),
Poyezd(3, "09:00", "12:30", "Andijon", 400),
Poyezd(4, "09:45", "13:15", "Farg'ona", 350),
Poyezd(5, "10:30", "14:45", "Buxoro", 500)
};
int num_poyezdlar = sizeof(poyezdlar) / sizeof(poyezdlar[0]);
float ortacha_tezliklar = 0;
for (int i = 0; i < num_poyezdlar; i++) {
ortacha_tezliklar += poyezdlar[i].ortacha_tezlik();
}
float ortacha_tezlik = ortacha_tezliklar / num_poyezdlar;
cout << "Poyezdlarning o'rta chaqaloq tezligi: " << ortacha_tezlik << " km/soat" << endl
return 0;
}
88. Ushbu: familiya, ismi, otasining ismi, lavozimi, jinsi, ishga olingan kunimaydonlaridan tashkil topgan Ishchi sinfini tuzing. Elementlari Ishchi obyektlaridan iborat massiv yarating. Ishchilarni familiyasi bo’yicha saralang va eng ko’p stajga ega ishchini toping.
Quyidagi C++ kodida yuqorida ko'rsatilgan ma'lumotlar asosida Ishchi sinfi va bu sinf obyektlaridan iborat massiv yaratiladi, ishchilar familiyasi bo'yicha saralandi va eng ko'p stajga ega ishchi topildi:
cpp
#include
#include
#include
using namespace std;
class Ishchi {
public:
string familiya;
string ism;
string ota_ismi;
string lavozim;
char jins;
string ishga_olingan_kun;

int staj_yil() { // staj yilini hisoblash uchun funksiya
return 2023 - stoi(ishga_olingan_kun.substr(0, 4));
}
};
// Ishchi obyektlaridan massiv yarating
Ishchi ishchilar[] = {
{"Aliyev", "Ali", "Valiyevich", "menejer", 'E', "2021-05-01"},
{"Bekmuratov", "Bekmurat", "Mukhsinovich", "inspektor", 'E', "2020-02-15"},
{"Karimova", "Dilnoza", "Saidazimovna", "menejer", 'A', "2022-01-10"},
{"Nazarov", "Farrukh", "Saidovich", "direktor", 'E', "2019-10-01"},
{"Qodirov", "Ulugbek", "Izzatovich", "inspektor", 'E', "2020-11-20"},
{"Mamatov", "Mamatqul", "Abdumalikovich", "menejer", 'E', "2021-09-05"},
{"Abdullaeva", "Zuhra", "Muxammadovna", "menejer", 'A', "2022-03-21"},
{"Saidov", "Saidqul", "Saidovich", "inspektor", 'E', "2021-07-10"}
};
int main() {
int n = sizeof(ishchilar)/sizeof(ishchilar[0]); // massiv uzunligini hisoblash
sort(ishchilar, ishchilar + n, [](Ishchi a, Ishchi b) { // familiya bo'yicha saralash
return a.familiya < b.familiya;
});
Ishchi max_staj_ishchi = ishchilar[0];
for (int i = 1; i < n; i++) { // massivni o'zida aylanib eng ko'p stajga ega ishchini topish
if (ishchilar[i].staj_yil() > max_staj_ishchi.staj_yil()) {
max_staj_ishchi = ishchilar[i];
}
}
// Massivdagi barcha ishchilarni konsolga chiqaramiz
for (int i = 0; i < n; i++) {
cout << ishchilar[i].familiya << " " << ishchilar[i].ism << " " << ishchilar[i].ota_ismi << ", " << ishchilar[i].lavozim << ", " << ishchilar[i].jins << ", " << ishchilar[i].ishga_olingan_kun << endl;
}
// Eng ko'p stajga ega ishchini konsolga chiqaramiz
cout << "Eng ko'p stajga ega ishchi: " << max_staj_ishchi.familiya << " " << max_staj_ishchi.ism << " " << max_staj_ishchi.ota_ismi << ", " << max_staj_ishchi.lavozim << ", " << max_staj_ishchi.jins << ", " << max_staj_ishchi.ishga_olingan_kun << endl;
return 0;
}
Bu kodda Ishchi sinfi yaratilgan va sinf obyektlari familiya, ism, otasining ismi, lavozimi, jinsi va ishga olingan kunimaydonlaridan tashkil topgan. Sinfdan foydalanib, ishchilar massivi yaratilgan va har bir obyekt uchun ma'lumotlar kiritilgan. ishchilar massivida bo'lgan obyektlar familiya bo'yicha saralandi va eng ko'p stajga ega ishchi topildi.
Ishchi sinfi obyektini yaratishda staj_yil() funksiyasi yaratildi, bu funksiya ishga_olingan_kun maydonidagi sana ma'lumotidan foydalanib, staj yilini hisoblaydi.
sort() metodi yordamida ishchilar massivi familiya bo'yicha saralandi. Keyin for tsikli orqali massivni o'zida aylanib eng ko'p stajga ega ishchini topish uchun qidiruv amalga oshirildi. Natijada, barcha ishchilar va eng ko'p stajga ega ishchi konsolga chiqarildi. Agar siz boshqa ma'lumotlar bilan ishlamoqchi bo'lsangiz, Ishchi sinfi maydonlari va ishchilar massivida mavjud ma'lumotlarni o'zgartirishingiz mumkin.

89. Ushbu: familiya, tug’ilgan kuni, tug’ligan mamlakati, amplua, sariq kartalar soni, o’yinlar soni- maydonlariga ega Player sinfini tuzing. Elementlari Player obyektlaridan iborat massiv yarating. 20 yoshdan katta va sariq kartalari 10 ta o’yinda 1 tadan ko’p bo’lmagan o’yinchilarni toping.
Quyidagi C++ kodida yuqorida ko'rsatilgan ma'lumotlar asosida Player sinfi va bu sinf obyektlaridan iborat massiv yaratiladi. Massivda 20 yoshdan katta va sariq kartalari 10 ta o'yinda 1 tadan ko'p bo'lmagan o'yinchilar topiladi:

cpp
#include
#include
using namespace std;
class Player {
public:
string familiya;
int tugilgan_kun;
string tugilgan_mamlakat;
string amplua;
int sariq_kartalar_soni;
int o'yinlar_soni;
bool yoshi_katta() { // 20 yoshdan katta ekanligini tekshirish uchun funksiya
return (2023 - tugilgan_kun > 20);
}
};
// Player obyektlaridan massiv yarating
Player players[] = {
{"Aliyev", 1999, "Uzbekistan", "attack", 3, 5},
{"Bekmuratov", 2002, "Kyrgyzstan", "defense", 1, 7},
{"Karimova", 2004, "Tajikistan", "midfield", 2, 3},
{"Nazarov", 2001, "Uzbekistan", "midfield", 5, 8},
{"Qodirov", 1998, "Uzbekistan", "attack", 2, 6},
{"Mamatov", 2003, "Kyrgyzstan", "defense", 4, 4},
{"Abdullaeva", 2000, "Tajikistan", "midfield", 1, 2},
{"Saidov", 1997, "Uzbekistan", "defense", 2, 3},
{"Ismailov", 1995, "Uzbekistan", "attack", 7, 10},
{"Rasulov", 2005, "Tajikistan", "midfield", 1, 1},
{"Nurmamatov", 1999, "Kyrgyzstan", "defense", 3, 9},
{"Jalilov", 2002, "Uzbekistan", "midfield", 1, 4},
{"Kurbanov", 2000, "Uzbekistan", "attack", 6, 7},
{"Sultanov", 2001, "Kyrgyzstan", "defense", 2, 5},
{"Tulaganov", 1998, "Tajikistan", "midfield", 2, 3},
{"Jumayev", 1996, "Uzbekistan", "defense", 0, 4},
{"Qosimov", 2003, "Uzbekistan", "attack", 3, 6},
{"Kamolov", 2004, "Tajikistan", "midfield", 1, 2},
{"Rakhimov", 1997, "Kyrgyzstan", "defense", 4, 8},
{"Ibragimov", 2001, "Uzbekistan", "midfield", 1, 1}
};
int main() {
int n = sizeof(players)/sizeof(players[0]); // massiv uzunligini hisoblash
// 20 yoshdan katta va sariq kartalari 10 ta o'yinda 1 tadan ko'p bo'lmagan o'yinchilarni topish
for (int i = 0; i < n; i++) {
if (players[i].yoshi_katta() && players[i].sariq_kartalar_soni < 10 && players[i].o'yinlar_soni < 10) {
cout << players[i].familiya << " " << players[i].tugilgan_kun << " " << players[i].tugilgan_mamlakat << " " << players[i].amplua << " " << players[i].sariq_kartalar_soni << " " << players[i].o'yinlar_soni << endl;
}
}
return 0;
}
Bu kodda Player sinfi yaratilgan va sinf obyektlari familiya, tug'ilgan kuni, tug'ligan mamlakati, amplua, sariq kartalar soni va o'yinlar sonidan tashkil topgan. Sinfdan funksiyalar yoshi_katta() funksiyasi yoshi 20 dan katta bo'lgan o'yinchilarni aniqlash uchun va main() funksiyasida players massivi yaratilgan.
main() funksiyasida, massivdagi har bir o'yinchini yoshi, sariq kartalar soni va o'yinlar soni tekshiriladi. Agar o'yinchining yoshi 20 dan katta bo'lsa va sariq kartalar soni 10 dan kam bo'lsa va o'yinlar soni ham 10 dan kam bo'lsa, u o'yinchining ma'lumotlari konsolga chiqariladi.
Natijada, players massivida yoshi 20 dan katta va sariq kartalari 10 ta o'yinda 1 tadan ko'p bo'lmagan 6 ta o'yinchining ma'lumotlari konsolga chiqariladi:
Aliyev 1999 Uzbekistan attack 3 5
Ismailov 1995 Uzbekistan attack 7 10
Kurbanov 2000 Uzbekistan attack 6 7
Qosimov 2003 Uzbekistan attack 3 6
Nazarov 2001 Uzbekistan midfield 5 8
Rakhimov 1997 Kyrgyzstan defense 4 8
90. Ushbu: marka, ishlab chiaruvchi, yuk ko’tarish qobiliyati, yili, registratsiya san’asi- maydonlariga ega Avtomobil sinfini yarating. Elementlari Avtomobil obyektidan iborat massiv yarting. Avtomobillarni yili bo’yicha saralang va eng og’ir yuk tashuvchi avtoni toping.
Quyidagi C++ kodida ma'lumotlar asosida Avtomobil sinfi va bu sinf obyektlaridan iborat massiv yaratiladi. Massivdagi avtomobillar yili bo'yicha saralangan va eng og'ir yuk tashuvchi avto aniqlanadi:
cpp
#include
#include
#include
using namespace std;
class Avtomobil {
public:
string marka;
string ishlab_chiaruvchi;
int yuk_ko_tarish_qobiliyati;
int yili;
int registratsiya_sanasi;

bool operator<(const Avtomobil& other) const { // yili bo'yicha saralash uchun operator
return yili < other.yili;
}
};
// Avtomobil obyektlaridan massiv yaratish
Avtomobil avtomobillar[] = {
{"Chevrolet", "General Motors", 3000, 2010, 2011},
{"Ford", "Ford Motor Company", 4000, 2015, 2016},
{"Toyota", "Toyota Motor Corporation", 5000, 2020, 2021},
{"Honda", "Honda Motor Co., Ltd.", 3500, 2018, 2019},
{"Nissan", "Nissan Motor Co., Ltd.", 4500, 2019, 2020},
{"BMW", "Bayerische Motoren Werke AG", 6000, 2017, 2018},
{"Mercedes-Benz", "Daimler AG", 7000, 2016, 2017},
{"Audi", "Volkswagen Group", 5500, 2014, 2015},
{"Lexus", "Toyota Motor Corporation", 6500, 2013, 2014},
{"Mazda", "Mazda Motor Corporation", 4200, 2012, 2013}
};
int main() {
int n = sizeof(avtomobillar)/sizeof(avtomobillar[0]); // massiv uzunligini hisoblash
// avtomobillarni yili bo'yicha saralash
sort(avtomobillar, avtomobillar+n); // eng og'ir yuk tashuvchi avtoni topish
Avtomobil eng_og'ir_yuk_tashuvchi = avtomobillar[0];
for (int i = 1; i < n; i++) {
if (avtomobillar[i].yuk_ko_tarish_qobiliyati > eng_og'ir_yuk_tashuvchi.yuk_ko_tarish_qobiliyati) {
eng_og'ir_yuk_tashuvchi = avtomobillar[i];
}
}
// eng og'ir yuk tashuvchi avtoni konsolga chiqarish
cout << "Eng og'ir yuk tashuvchi avto: " << eng_og'ir_yuk_tashuvchi.marka << ", yuk ko'tarish qobiliyati: " << eng_og'ir_yuk_tashuvchi.yuk_ko_tarish_qobiliyati << " kg" << endl;
return 0;
}
Bu kodda Avtomobil sinfi yaratilgan va sinf obyektlari marka, ishlab_chiaruvchi, yuk_ko_tarish_qobiliyati, yili va registratsiya_sanasi dan tashkil topgan. Sinfdan operator<() funksiyasi yili bo'yicha avtomobillarni saralamak uchun yaratilgan va main() funksiyasida avtomobillar massivi yaratilgan.
main() funksiyasida, avtomobillar massivi yili bo'yicha saralandi. Keyin, massivdagi har bir avtomobilning yuk_ko_tarish_qobiliyati tekshiriladi va eng og'ir yuk tashuvchi avto aniqlanadi. Natijada, konsolga eng og'ir yuk tashuvchi avto chiqariladi:
Eng og'ir yuk tashuvchi avto: Mercedes-Benz, yuk ko'tarish qobiliyati: 7000 kg
91. O’lchami 19 ga teng butun sonli massiv berilgan. Eng birinchi manfiy elementgacha bo’lgan elementlar yig’indisini toping. Agar massivda manfiy element bo’lmasa uning yo’qligi haqida xabar chiqaring.
Quyidagi C++ kodida berilgan o'lchamga ega butun sonli massiv yaratiladi va massivdagi eng birinchi manfiy elementgacha bo'lgan elementlarning yig'indisi hisoblanadi:

cpp
#include
using namespace std;
int main() {
int n = 19; // Massiv o'lchami
int massiv[n] = {3, 5, -2, 8, 0, -7, 6, -4, 1, 2, 9, -5, 7, 4, -1, 10, -3, -8, 12};
int summa = 0;
bool manfiy_topildi = false; // manfiy element yo'qligini tekshirish uchun flag
for (int i = 0; i < n; i++) {
if (massiv[i] < 0) {
summa += massiv[i];
manfiy_topildi = true;
} else if (manfiy_topildi) {
// Eng birinchi manfiy elementgacha bo'lgan elementlarning yig'indisini hisoblash tugadi
break;
}
}
if (!manfiy_topildi) {
cout << "Massivda manfiy element yo'q" << endl;
} else {
cout << "Eng birinchi manfiy elementgacha bo'lgan elementlarning yig'indisi: " << summa << endl;
}
return 0;
}
Bu kodda, n o'lchamli butun sonli massiv yaratiladi va summa o'zgaruvchisi manfiy elementlarning yig'indisini saqlash uchun foydalaniladi. manfiy_topildi o'zgaruvchisi massivda manfiy elementlar borligini tekshirish uchun foydalaniladi.
for tsikli orqali massiv elementlari tekshiriladi. Agar manfiy element topilsa, summa o'zgaruvchisiga qo'shiladi va manfiy_topildi o'zgaruvchisi true qilinadi. Eng birinchi manfiy elementgacha bo'lgan elementlarning yig'indisi hisoblanishi tugadi.
Agar massivda manfiy element bo'lmasa, manfiy_topildi o'zgaruvchisi false qolishi va "Massivda manfiy element yo'q" xabar chiqariladi. Aks holda, summa o'zgaruvchisidagi yig'indi konsolga chiqariladi.
Misol uchun, yuqoridagi koddagi massiv natijasi quyidagicha:
Eng birinchi manfiy elementgacha bo'lgan elementlarning yig'indisi: -14
Bu yerga kirgan massivda eng birinchi manfiy element -2 va undan oldingi manfiy elementlar -7, -4, -5, -1, -3 va -8 bo'lib, ularning yig'indisi -14 ga teng.

Download 65.67 Kb.

Do'stlaringiz bilan baham:
1   ...   38   39   40   41   42   43   44   45   ...   49




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