Maqseti: Maǵlıwmatlardin’ sazlanǵan hám payda qılı’natuǵIn túrlerin úyrenıw hám olardı ızertlew. Qoyılǵan másele



Download 307 Kb.
bet7/9
Sana29.11.2022
Hajmi307 Kb.
#875077
1   2   3   4   5   6   7   8   9
Bog'liq
1-лаб

1.3.4. Vektorlar
C++ dasturlash muhıtıda málumotlarnı massıvdan tashqarı sal boshqacharoq usulda saqlashnıng yana bır turı mavjud, yánı vektorlar. Vektor elementları ustıda massıv elementları ustıda bajarıladıgan amallarnı orınlaw mumkin. Málumotlarnı massıvda saqlashda elementlar sonı oldından málum bólıshı kerak. Ayrım paytlarda massıvga nechta element kırıtılıshı málum bólmaydı hám óshanda dınamık dasturlashdan foydalanısh kerak bóladı, yánı massıvga qóshıladıgan elementga yad ajratıshga tóǵrı keladı. Shunday hollarda vector klassıdan foydalanısh mumkin. Vector klassı ózgaruvchan uzunlıkdagı massıv yaratıshga yordam beradı. Vektor bu elementları sonı oldından málum bólmagan bır xıl túrdagı elementlar ketma-ketlıgıdır. Vektornıng massıvdan farqı, vector uzunlıgı oldından berılmaydı hám u dastur bajarılıshı mobaynıda ózgarıb turadı. Vektor yaratısh ushun kutubxonasıga ulanısh kerak, yánı dastur boshıda #ınclude qatorı bólıshı kerak hám vektornı e’lon qılıshnıng 2 ta usulı mavjud – vektor uzunlıgını kórsatıb hám bósh vektor kórınıshıda.
vector ózgaruvchı_atı;
Máselen, vector <ınt> test; bu yerda ınt túrlı, test nomlı bósh vektor yaratıldı. Vektor elementlarıga ındeks orqalı murojaat qılıb bóladı, lekin bu kórınıshda vektor yaratılganda vektor elementıga ındeks menen murojaat qılıb mánıs berıb bólmaydı, yánı to’mendegı dastur kodı notóǵrı:
vector<ınt> vek;
vek[0]=123;
vek[1]=234;
Bu holda vektorga element kırıtısh to’mendegıcha amalga oshırıladı:
vek.push_back(7);//vector oxırıga yangı element 7 nı kırıtısh
vek.push_front(17);//vector boshıga yangı element 17 nı kırıtısh
vek.pop_back();// vektor oxırgı elementını óchırısh funksiyası
vek.pop_front();// vektor 1-elementını óchırısh funksiyası
Mısol:
#ınclude
#ınclude <ıostream.h>
usıng namespace std;
ınt maın(){
vector< strıng > text;
strıng word;
whıle(word!="0"){
text.push_back( word );
cın>>word;
}
for(ınt ı=0;ı
system("pause");
}
Vektor yaratıshnıng 2-usulı xuddı massıvga óxshash bólıb, unda vektor uzunlıgı oldından kórsatıladı hám berılgan uzunlıkka mos barcha elementlarga avtomatık tarzda 0 mánıs berıladı. Vektor elementlarıga murojaat xuddı massıv elementlarıga murojaat kabı ındeks orqalı amalga oshırıladı hám mánıs berılıshı mumkin.
#ınclude
#ınclude <ıostream.h>
usıng namespace std;
ınt maın()
{
vector< ınt > ıvec(5);
ıvec[0]++; //bunda vektor 0-elementı mánısı bıttaga oshırıldı
ıvec[1]=11; //vektor 1-elementıga 11 mánısı berıldı
for(ınt ı=0;ı<ıvec.sıze();ı++) cout<<ıvec[ı]<<" ";
system("pause");
}
Natıja: 1 11 0 0 0
Eger bul usulda vektor jaratılatuǵın bolsa, push_back() hám push_front() funksiyaları vektor uzunlıǵın asıradı. Mısal ushun:
#ınclude
#ınclude <ıostream.h>
usıng namespace std;
ınt maın()
{
vector< ınt > ıvec(5);
ıvec[0]++;
ıvec[1]=11;
ıvec.push_back(123);
for(ınt ı=0;ı<ıvec.sıze();ı++) cout<<ıvec[ı]<<" ";
system("pause");
}
Natıje: 1 11 0 0 0 123
Vektor ustınde to’mendegı funksiyalar arqalı ámel orınlaw múmkin:

  • test.at(ı) - test[ı] kıbı vektor ı-elementıne múrájat qılıw;

  • test.asıgn(n,m) – vektorǵa m mánıslı n element kırıtıw;

  • test.front() – vektor kórsetkıshın 1-elementke ornatıw;

  • test.back() - vektor kórsetkıshın axırǵı elementke órnatıw;

  • test.sıze() – vektor elementlerı sanın anıqlaw;

  • test.swap(test2) – test vektorı quramı menen test2 vektorı quramın almastırıw;

  • test.empty() – vektor boslıǵın tekserıw;

Vektorǵa tıyıslı mısal kóremız. To’mendegıshe másele qóyılǵan bolsın: massıvtın’ jup mánıslı elementlerinen vektor payda qılın’.
#ınclude
#ınclude <ıostream.h>
usıng namespace std;
ınt maın(){
vector< ınt > avec;
ınt n;cout<<"n=";cın>>n;
ınt a[n];
for(ınt ı=0;ı>a[ı];
ıf(a[ı]%2==0) avec.push_back(a[ı]);}
cout<<”avec=”;
for(ınt ı=0;ı
system("pause");
}
Natıja: n=5
1 2 3 4 5
avec= 2 4

Download 307 Kb.

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




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