O„zbekiston respublikasi aloqa, axborotlashtirish va telekommunikatsiya texnologiyalari davlat qo„mitasi toshkent axborot texnologiyalari universiteti



Download 1,33 Mb.
Pdf ko'rish
bet12/82
Sana01.01.2022
Hajmi1,33 Mb.
#303305
1   ...   8   9   10   11   12   13   14   15   ...   82
Bog'liq
53e9f9634ed20

 
 
 
 


 
21 
 
1.3.4. Vektorlar 
 
C++  dasturlash  muhitida  ma‟lumotlarni  massivdan  tashqari  sal 
boshqacharoq  usulda  saqlashning  yana  bir  turi  mavjud,  ya‟ni  vektorlar.  Vektor 
elementlari  ustida  massiv  elementlari  ustida  bajariladigan  amallarni  bajarish 
mumkin.  Ma‟lumotlarni  massivda  saqlashda  elementlar  soni  oldindan  ma‟lum 
bo„lishi  kerak.  Ayrim  paytlarda  massivga  nechta  element  kiritilishi  ma‟lum 
bo„lmaydi  va  o„shanda  dinamik  dasturlashdan  foydalanish  kerak  bo„ladi,  ya‟ni 
massivga  qo„shiladigan  elementga  xotira  ajratishga  to„g„ri  keladi.  Shunday 
hollarda 
vector
  klassidan  foydalanish  mumkin.  Vector  klassi  o„zgaruvchan 
uzunlikdagi massiv yaratishga yordam beradi. Vektor bu elementlari soni oldindan 
ma‟lum  bo„lmagan  bir  xil  toifadagi  elementlar  ketma-ketligidir.  Vektorning 
massivdan  farqi,  vector  uzunligi  oldindan  berilmaydi  va  u  dastur  bajarilishi 
mobaynida o„zgarib turadi. Vektor yaratish uchun  kutubxonasiga ulanish 
kerak,  ya‟ni  dastur  boshida 
#include
  qatori  bo„lishi  kerak  va  vektorni 
e‟lon  qilishning  2  ta  usuli  mavjud  –  vektor  uzunligini  ko„rsatib  va  bo„sh  vektor 
ko„rinishida. 
vector o‘zgaruvchi_nomi; 
 
Masalan,   
vector    test;   
bu  yerda 
int
  toifali, 
test 
nomli  bo„sh  vektor 
yaratildi.  Vektor  elementlariga  indeks  orqali  murojaat  qilib  bo„ladi,  lekin  bu 
ko„rinishda  vektor  yaratilganda  vektor  elementiga  indeks  bilan  murojaat  qilib 
qiymat berib bo„lmaydi, ya‟ni quyidagi dastur kodi noto„g„ri: 
vector vek; 
vek[0]=123; 
vek[1]=234; 
Bu holda vektorga element kiritish quyidagicha amalga oshiriladi: 
 
vek.push_back(7);//vector oxiriga yangi element 7 ni kiritish 
vek.push_front(17);//vector boshiga yangi element 17 ni kiritish 
 
vek.pop_back();//
 vektor oxirgi elementini o„chirish funksiyasi 
 


 
22 
vek.pop_front();//
 vektor 1-elementini o„chirish funksiyasi 
Misol: 
#include  
#include  
using namespace std; 
int main(){ 
vector< string > text; 
string word; 
     while(word!="0"){ 
     text.push_back( word ); 
     cin>>word; 
     } 
for(int i=0;i
system("pause"); 

 
Vektor  yaratishning  2-usuli  xuddi  massivga  o„xshash  bo„lib,  unda  vektor  
uzunligi  oldindan  ko„rsatiladi  va  berilgan  uzunlikka  mos  barcha  elementlarga 
avtomatik  tarzda  0  qiymat  beriladi.  Vektor  elementlariga  murojaat  xuddi  massiv 
elementlariga  murojaat  kabi  indeks  orqali  amalga  oshiriladi  va  qiymat  berilishi 
mumkin.  
#include  
#include  
using namespace std; 
int main() 

 vector< int > ivec(5); 
 ivec[0]++; //bunda vektor 0-elementi qiymati bittaga oshirildi 
 ivec[1]=11; //vektor 1-elementiga 11 qiymati berildi 
 for(int i=0;i
 system("pause"); 


 
23 
 

Natija:   1  11  0  0  0
  
Agar  bu  usulda  vektor  yaratiladigan  bo„lsa, 
push_back()
  va 
push_front()
 
funksiyalari vektor uzunligini oshiradi. Misol uchun: 
#include  
#include  
using namespace std; 
int main() 

  
vector< int > ivec(5); 
ivec[0]++; 
ivec[1]=11; 
ivec.push_back(123); 
for(int i=0;i
system("pause"); 

Natija:  1  11  0  0  0  123 
Vektor ustida quyidagi funksiyalar orqali amal bajarish mumkin: 

 
test.at(i)
 - test[i] kabi vektor i-elementiga murojaat qilish; 

 
test.asign(n,m)
 – vektorga m qiymatli n ta element kiritish; 

 
test.front()
 – vektor ko„rsatkichini 1-elementga o„rnatish; 

 
test.back()
 -  vektor  ko„rsatkichini oxirgi elementga o„rnatish; 

 
test.size()
 – vektor elementlari sonini aniqlash; 

 
test.swap(test2)
  –  test  vektori  tarkibi  bilan  test2  vektori  tarkibini 
almashtirish  

 
test.empty()
 – vektor bo„shligini tekshirish; 
Vektorga oid misol ko„ramiz. Quyidagicha masala qo„yilgan bo„lsin: 
massivning juft qiymatli elementlaridan vektor hosil qiling. 
#include  
#include  


 
24 
using namespace std; 
int main(){ 
 vector< int > avec; 
 int n;cout<<"n=";cin>>n; 
 int a[n]; 
 for(int i=0;i>a[i]; 
         if(a[i]%2==0) avec.push_back(a[i]);}  
cout<<”avec=”; 
 for(int i=0;i
system("pause"); 

Natija: n=5 
 
   1 2 3 4 5 
 
   avec= 2  4 
 

Download 1,33 Mb.

Do'stlaringiz bilan baham:
1   ...   8   9   10   11   12   13   14   15   ...   82




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