2-mustaqil ishi. Chiziqli ma’lumotlar tuzilmalari. Statik va dinamik massivlar. Chiziqli konteynerlar va ularni qo‘llash. Reja
Download 32,63 Kb.
|
2-mustaqil ishi. Chiziqli ma’lumotlar tuzilmalari. Statik va din-fayllar.org
t1.fio=”Abdullayev Abdulla”;
Yozuvlar ustida turli amallarni bajarish mumkin. Maydonlariga qiymat o’zlashtirish Solishtirish Maydonlarining toifasidan kelib chiqqan xolda maydonlar ustida amal bajarish mumkin. Quyida ba’zi bir misollarni keltiramiz, unda myCar nomli yozuivning maydonlariga qiymatla o’zlashtiriladi: struct Car { int x_coor; int y_coor; string name; }; Car myCar; myCar.x_coor = 40; myCar.y_coor = 40; myCar.name = "Porche"; Yozuvlar bilan ishlashga doir to’lkiq dastur matnini keltiramiz: #include using namespace std; struct PlayerInfo { int skill_level; string name; }; using namespace std; int main() { PlayerInfo players[5]; for (int i = 0; i < 5; i++) { cout << "Please enter the name for player : " << i << '\n'; cin >> players[ i ].name; cout << "Please enter the skill level for " << players[ i ].name << '\n'; cin >> players[ i ].skill_level; } for (int i = 0; i < 5; ++i) { cout << players[ i ].name << " is at skill level " << players[i].skill_level << '\n'; } } Ko’pincha funksiyalar bilan ishlaganda strukturalarni funksiyalarning argument sifatida uzatishga to’g’ri keladi yoki strukturalarni funksiyada qaytarishga extiyoj tug’iladi. Bunday hollarda quyidagicha yondashish mumkin.
{ EnemySpaceShip ship; ship.x_coordinate = 0; ship.y_coordinate = 0; ship.weapon_power = 20; return ship; } Bu yerda funksiya ship nomli local yozuv nusxasini yaratadi va maydonlarga qiymatlar beriladi. Endi yangi o’zgaruvchini xosil qilish uchun quyidagini keltirish mumkin: EnemySpaceShip ship = getNewEnemy(); Bu o’zgaruvchini funksiyaga uzatish mumkin: EnemySpaceShip upgradeWeapons (EnemySpaceShip ship) { ship.weapon_power += 10; return ship; } O’zgaruvchi maydonlariga o’zgartirish kiritilgach, uni albatta funksiyada qaytarish kerak, aks holda u qilingan o’zgarish yo’qolishi mumkin. Quyida shu misolni to’liq dastur matnini keltiramiz; struct EnemySpaceShip { int x_coordinate; int y_coordinate; int weapon_power; }; EnemySpaceShip getNewEnemy() { EnemySpaceShip ship; ship.x_coordinate = 0; ship.y_coordinate = 0; ship.weapon_power = 20; return ship; } EnemySpaceShip upgradeWeapons(EnemySpaceShip ship) { ship.weapon_power += 10; return ship; } int main() { EnemySpaceShip enemy = getNewEnemy(); enemy = upgradeWeapons(enemy); } Bundan tashqari strukturalarga ko’rsatkichlar xam yaratish mumkin: #include using namespace std; struct xampl { int x; }; int main() { xampl structure; xampl *ptr; structure.x = 12; ptr = &structure; cout<< ptr->x; cin.get(); } Download 32,63 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling