LABORATORIYA ISHI 2. STL kutubxonalari. Konteyner sinflar 2.1. Chiziqli konteynerlar (array, vector, deque, list, forward_list) 2.1.1. array sinfidan foydalanib, amaliy dasturlar yaratish Ishning maqsadi: C++ dasturlash tilida array sinflaridan foydalanib,
konteynernerlar dan foydalanish ko‘nikmalarini shakllantirish.
Masalaning qo‘yilishi:
array asosida yaratilgan to‘plamni kamayish va ko‘payish tartibida saralash.
Masala: Talaba nomli class yaratish. Konteynerlarning array sinfi yordamida
to‘plamlar yartish. Array ning maxsus metodidan foydalanib, talabalar to‘plamini
talabalarning yoshlari bo‘yicha saralovchi dastur tuzish.
Masalani yechish g‘oyasi: talaba nomli yangi nolar fazosi yartiladi. Uning
tarkibiga Talaba classi va Ism, Fam, Yosh, Step nomli to‘plamlar joylashtiriladi.
Talaba classining ruxsat berilmagan maydonlaridan foydalanish uchun friend
funksiya yaratiladi.
Dastur matni:
1 . #include " s td a fx .h "
2 . #include < s tr in g >
3. #include < ite r a to r >
4 . #include 5. #include 6 . #include 7 . using namespace s td ;
8 . const in t n=3;
9 . array< s t r in g , n> Ism;
10. a rray < s t r in g , n> Fam;
11. a rray Yosh;
12. a rray Step;
13. namespace ta la b a _ 2 {
14. c la s s Talaba{
15. in t yosh;
16. s t d : : s t r in g ism;
17. s t d : : s t r in g fam;
18. f lo a t s tep ;
19. p u b lic : //SaraLash uchun docst funksiyadan foydaLanish 20. frien d void Saralash_show(a rray &T);
21. void set(int Y , std::string I, std::string F, float S ){ 2 2 . s t a t i c in t i = 0 ;
23. Yosh[i] = Y; Ism [i] = I ; Fam[i] = F; S t e p [ i] = S;
24. yosh = Y;
25. ism = I ;
26. fam = F;
27. step = S; i+ + ;
28. }
29. void g e t ( ) {
30. cout<<"Ism i: " <31. cout<<"F am iliy a s i: " <32. cout<<"Yoshi: " <33. cout<<"S tep en d iy a s i: " < < s tep < < en d l;}
34. } ; / /
35. void show(a rray &T) {
36. fo r ( in t i = 0 ; i < n; i+ + )
37. { cou t< < i+ 1 < < " - ta la b a haqida haqida"<38. T[ i ] . g e t ( ) ; }
39. } / /