Maqseti: Maǵlıwmatlardiń sazlanǵan hám payda qılı’natuǵIn túrlerin úyrenıw hám olardı ızertlew. Qoyılǵan másele
Download 0.89 Mb.
|
метод Маглыу.струк
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 vector 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ánis 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ánis berıladı. Vektor elementlarıga murojaat xuddı massıv elementlarıga murojaat kabı ındeks orqalı amalga oshırıladı hám mánis 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ánisı bıttaga oshırıldı ıvec[1]=11; //vektor 1-elementıga 11 mánisı 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ánisli 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ıń jup mánisli elementlerinen vektor payda qılıń. #ı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;ı ı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 0.89 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling