const int KARTALAR_SONI = 52;
vector <int> dasta(KARTALAR_SONI);
//Kartalarni yuklash for (int i = 0; i < KARTALAR_SONI; i++)
dasta[i] = i;
dasta[0] dan dasta[12]gacha tapponlar, dasta[13] dan dasta[25] gacha g`ishtlar, dasta[26] dan dasta[38] gacha tapponlar va dasta[39] dan dasta[51] gacha qarg`alar. Ushbu muammo 7.4-kodli ro`yxatda yechilgan.
7.4-kodli ro`yxat. vektorliKartaDastasi.cpp 1 #include 2 #include 3 #include 4 #include 5 using namespace std;
6
7 const int KARTALAR_SONI = 52;
8 string moslik[] = {"Qarg`a", "Tappon", "G`isht", "Chillak"};
9 string raqamlar[] = {"Tuz","2","3","4","5","6","7","8","9",
10 "10","Valet","Dama","Qirol"};
11
12 int main()
13 {
14 vector<int> dasta(KARTALAR_SONI);
15
16 // Boshlang`ich kartalar 17 for (int i = 0; i < KARTALAR_SONI; i++)
18 dasta[i] = i;
19
20 //Kartalarni aralashtirish 21 srand(time(0));
22 for(int i = 0; i < KARTALAR_SONI; i++)
23 {
24 // Tasodifiy indeksni generatsiyalash 25 int index = rand() % KARTALAR_SONI;
26 int temp = dasta[i];
27 dasta[i] = dasta[index];
28 dasta[index] = temp;
29 }
30
31 // Birinchi to`rtta kartani ko`rsatish 32 for (int i = 0; i < 4; i++)
33 {
34 cout << i+1 << " raqamli karta nomi: " << moslik[dasta[i] / 13] <<
35 ", karta raqami: " << raqam[dasta[i] % 13] << endl;
36 }
37
38 return 0;
39 }
Natija:
4 raqamli karta nomi: Chillak
Tuz raqamli karta nomi: G`isht
6 raqamli karta nomi: Tappon
Valet raqamli karta nomi: Chillak
Dastur uning 2-qatorida vector sinfi chaqirilishi va 14-qatorda barcha kartalarni massivda yozishda vektordan foydalanilishini inobatga olmaganda, 7.3-kodli ro`yxat bilan deyarli bir xil. Shunisi qiziqki, massivdan va vektordan foydalanish sintaksisi bir xil, chunki massivning ham, vektorning ham ma’lum bir elementiga murojaat oraliqni ifodalovchi [] operatori orqali amalga oshiriladi.
Shuningdek, 8-10-qatorlardagi moslik va raqamlar massivlarini vektorga o`zgartirishimiz ham mumkin. Agar dasturda ko`p qatorlarni yozishimiz kerak bo`lsa, u holda bu elementlarni vektorga yozgan ma’qul. Kodlashtirishda massivlardan foydalanish soddaroq va yaxshiroq hisoblanadi.