2-rasm. MyNumbers massivida beshta butun sonni yozish
Shuni esda tutish lozimki, massiv egallagan xotira maydoni massivda saqlanadigan ma'lumotlar turi, bu holda int turi bilan belgilanadigan teng o'lchamdagi beshta blokdan iborat. Oldingi darslarda butun sonli turlarining hajmini ko'rib chiqqan edik. Shunday qilib, myNumbers massivi uchun kompilyator tomonidan ajratilgan xotira hajmi sizeof (int) * 5 baytni tashkil qiladi. Umuman olganda, kompilyator tomonidan massiv uchun ajratilgan baytdagi xotira miqdori
massiv baytlari = sizeof {Element turi) * Elementlar soni
orqali aniqlanishi mumkin.
Massivda saqlangan ma'lumotlarga kirish. Massiv elementlariga murojaat qilish uchun indekslardan (index) yoki massivdagi element raqamidan foydalanishingiz mumkin. Massivning birinchi elementi 0-indeksga ega. Masalan, myNumbers massivida saqlanadigan birinchi butun sonli qiymatga myNumbers[0], ikkinchisiga myNumbers [1] va xuddi shu tartibda qolgan qiymatlarga murojaat qilish mumkin. Massivning beshinchi elementi myNumbers[4]. Boshqacha qilib aytganda, massivdagi oxirgi elementning indeksi har doim uning uzunligidan bitta kam bo'ladi.
C++ kompilyatori indeksning massivning aslida belgilangan chegaralarida ekanligini tekshirmaydi. Siz faqat 10 ta elementni o'z ichiga olgan qatorda 1001 indeksidagi elementni tanlashga urinib ko'rishingiz va shu bilan dasturingizning xavfsizligi va barqarorligiga zarar yetkazishingiz mumkin. Massivdan tashqaridagi elementlarga murojaatlarni oldini olish faqat dasturchining eng muhim vazifasidir.
Undan tashqaridagi massivga kirish natijasini oldindan aytib bo'lmaydi. Qoida tariqasida, bunday chaqiruv dasturning g'ayritabiiy bekor qilinishiga olib keladi1. Bunga har qanday yo'l bilan yo'l qo'ymaslik kerak.
Quyidagi misolda butun sonlar massivini e'lon qilishni namoyish etadi, uning elementlarini butun qiymatlar bilan initsializatsiya qiladi va ularga ekranda ko'rsatish uchun kirish imkoniyatini beradi.
#include
using namespace std;
int main()
{
int myNumbers[5] = {34, 56, -21, 5002, 365};
cout << "0-indeksli element: " << myNumbers[0] << endl;
cout << "1-indeksli element: " << myNumbers[1] << endl ;
cout << "2-indeksli element: " << myNumbers[2] << endl;
cout << "3-indeksli element: " << myNumbers[3] << endl;
cout << "4-indeksli element: " << myNumbers[4] << endl;
return 0;
}
Odatda bunday tartibda massivlar bilan ishlanmaydi. Massiv indekslari bilan ishlash uchun sikl operatorlaridan foydalanish lozim. Quyidagi misolda for sikli yordamida massivni to’ldirish va elementlarini ekranga chiqarish keltirilgan.
#include
using namespace std;
int main()
{
int myNumbers[5];
cout << "Massivni to'ldiring"<for (int i=0; i<5; i++)
{
cout<cin >>myNumbers[i];
}
cout<<"Massiv elementlari:"<for(int i=0; i<5; i++)
{
cout<}
return 0;
}
Do'stlaringiz bilan baham: |