2-laboratoriya ishi. Dinamik massiv, Stek, Navbat, Ro`yhat(bir tomonlama, ikki tomonlama), Lug`at ma`lumotlar strukturalarini mashina xotirasida


Vektor yacheykasiga murojaat qilishning ikkinchi usuli



Download 234,75 Kb.
bet8/11
Sana31.12.2021
Hajmi234,75 Kb.
#237302
1   2   3   4   5   6   7   8   9   10   11
Bog'liq
2-laboratoriya mashg'uloti

Vektor yacheykasiga murojaat qilishning ikkinchi usuli

Bilamizki, vektor yacheykasiga murojaat qilish uchun indekslardan foydalanadi. Odatda biz ularni kvadrat qavslar[] bilan birgalikda ishlatamiz.

Ammo C++ da at() funksiyasi tufayli buni amalga oshirishning yana bir usuli mavjud. Qavslar ichida biz murojaat qilishimiz kerak bo'lgan katak indeksini ko'rsatishimiz kerak.

Bu amalda qanday ishlaydi:

vektor V = {1, 2, 3};

V.at(1) = 8; // ikkinchi element qiymatini o’zgartiradi

cout << V.at (1); // uni ekranda ko'rsatish
Vektor uchun kataklar sonini qanday belgilash mumkin

Vektor o'lchamini har xil usulda belgilashingiz mumkin. Siz buni ishga tushirish paytida ham qilishingiz mumkin, yoki hatto dasturning oxirida ham qilishingiz mumkin. Masalan, boshida vektor uzunligini aniqlashning bir usuli:


vector vector_first(5);
Shunday qilib, vektor nomidan keyin qavs ichida () biz boshlang'ich uzunligini ko'rsatamiz. Mana bu esa ikkinchi yo'l:

vector  V;  // Vektor yaratish

vector_second.V(5);  // Vektor uzunligini ko’rsatish
Birinchi qator biz uchun allaqachon tanish. Ammo ikkinchisida noma'lum so'z bor - reserve, bu biz kompilyatorga qancha yacheykadan foydalanishimiz kerakligini aytadigan funktsiya.

Shu o’rinda mantiqiy savol paydo bo’lishi mumkin: "Bu ikki usulning farqi nima?".Quyida ikkita vektorni yaratamiz va ularning yacheykalar sonini boshqacha ko'rsatamiz.


#include

#include // подключили библиотеку


using namespace std;
int main() {

vector V1(3);

vector V2;

V2.reserve(3);


cout << "Birinchi vektorni chiqarish:";
for (int i = 0; i < 3; i++) {

cout << V1[i] << " ";

}

cout<
cout << "Ikkinchi vektorni chiqarish: " << endl;
for (int i = 0; i < 3; i++) {

cout << V2[i] << " ";

}
return 0;

}


Ko'rib turganingizdek, birinchi holatda biz uchta nolni, ikkinchisida: 7738304, 7733440, 1935436643 chiqaramiz.

Buning sababi shundaki, birinchi usuldan foydalanganda barcha yacheykalar avtomatik ravishda nol bilan to'ldirilgan.

Biror narsani e'lon qilayotganda (massiv, vektor, o’zgaruvchi va boshqalar) biz kompyuter uchun keraksiz chiqindini o'z ichiga olgan xotira yacheykalarining ma'lum bir qismini ajratamiz. Bizda bu chiqindi holatidagi raqamlardir.



Download 234,75 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10   11




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish