Reja. Massiv haqida tushuncha va uning qo’llanish holatlari 2
Massivdagi ma’lumotlarni o’zgartirish
Download 0.85 Mb. Pdf ko'rish
|
8 ma’ruza Massivlar bilan ishlash Murakkab turlar massivlar, bir
- Bu sahifa navigatsiya:
- (fence-post error)
Massivdagi ma’lumotlarni o’zgartirish. Oldingi dasturning kodida
foydalanuvchi ma'lumotlari qatorga kiritilmagan. Ushbu massivdagi elementga butun sonni tayinlash sintaksisi butun o'zgaruvchiga qiymat berish sintaksisiga juda o'xshaydi. Masalan, butun qiymat o'zgaruvchisiga 2017 qiymatini berish quyidagicha ko'rinishda bo’ladi:
Ko'rib chiqilgan qatordagi to'rtinchi elementga 2017 qiymatini berish shunga o'xshash bo’ladi:
Quyidagi misolda massiv uzunligini e'lon qilishda konstantalardan foydalanishni, shuningdek, dastur tuzish jarayonida massivning alohida elementlariga qiymatlar berish namoyish etilgan.
#include using namespace std;
int main() { const int ARRAY_LENGTH = 5; int myNumbers[ARRAY_LENGTH] = {5, 10, 0, -101, 20}; int moreNumbers[ARRAY_LENGTH*ARRAY_LENGTH]; cout << "O'zgarishtirish uchun element indeksini kiriting: "; int elementIndex = 0; cin >> elementIndex; cout << "Yangi qiymat kiriting: "; int newValue = 0; cin >> newValue; myNumbers[elementIndex] = newValue; moreNumbers[elementIndex] = newValue; cout <<"myNumbers ning "< cout << myNumbers[elementIndex] << endl; cout <<"moreNumbersning "< cout << moreNumbers[elementIndex]<< endl; return 0;
}
ARRAY_LENGTH konstantasida ko’rsatilgan, shuning uchun myNumbers massivi 5 ta elementga ega deb e'lon qilinadi, moreNumbers massivida esa 25 ta element
mavjud. C++ dasturlashda ko’pchilik holatda dasturlashni endi boshlovchilar beshta
butun sonli massivdagi 5-indeks yordamida beshinchi elementga qiymat berishadi. Ushbu element allaqachon massivdan tashqarida va kompilyatsiya qilingan kod
aslida besh elementli qatorning oltinchi elementiga kirishga harakat qilmoqda. Ushbu turdagi xatolarni ba'zan to'siq-post (fence-post error) xatosi deb
atashadi. Ushbu nom qo'riqlash postlari soni qo'riqlanadigan hududlar sonidan bittaga ko'pligi bilan bog'liq.
Yuqoridagi misolda juda muhim narsa yetishmayapti: foydalanuvchi elementIndex o'zgaruvchisi myNumbers massivi uchun 0 dan 4 gacha va moreNwers massivi uchun 0 dan 24 gacha bo'lganligini tekshirishi kerak va boshqa qiymatlarni bekor qilish kerak. Bunday tekshiruvning yo'qligi foydalanuvchiga massivdan tashqarida qiymat belgilashga imkon beradi. Bu, ehtimol, dasturning ishdan chiqishiga va eng yomon holatda operatsion tizimning ishdan chiqishiga olib kelishi mumkin. Buning uchun dasturda if shart operatoridan foydalanishimiz lozim. Mustaqil ravishda if operatorini qo’shgan holda dasturni o’zgartirishga harakat qilib ko’ring.
0-panel 1-panel
2-panel 3-panel
4-panel 5-panel
0-ustun 1-ustun
2-ustun 0-satr
1-satr
Har doim massivlarni initsializatsiya qilish tavsiya etiladi, aks holda ular oldindan aytib bo'lmaydigan qiymatlarni o'z ichiga olishi mumkin. Siz Dastur davomida foydalanilayotgan indekslar massivdan tashqarida yoki yo'qligini har doim tekshirib turish lozim.
Download 0.85 Mb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling