2-Dimensional Vector sa C ++

2 Dimensional Vector C



Ginamit ang vector upang lumikha ng isang pabagu-bagong array at ang laki ng vector ay maaaring madagdagan at mabawasan sa pamamagitan ng pagdaragdag at pag-aalis ng mga elemento mula sa vector. Kapag ang isang vector ay idineklara sa loob ng isa pang vector pagkatapos ang vector ay tinatawag na isang 2-Dimensional vector na gumagana tulad ng isang 2-Dimensional array. Naglalaman ang 2-Dimensional vector ng maraming bilang ng mga hilera kung saan ang bawat hilera ay isa pang vector. Ang mga gamit ng isang 2-Dimensional vector sa C ++ ay ipinakita sa tutorial na ito.

Syntax:

Ang syntax ng two-dimensional vector ay ibinigay sa ibaba.







vector<vector<uri ng datos>>vector_name;

Ang isang partikular na uri ng data ay tinukoy sa oras ng pagdedeklara ng vector. Kung ang laki ng vector ay hindi tinukoy pagkatapos ang vector ay tinatawag na isang walang laman na vector. Ang laki ng vector ay maaaring mabago sa pamamagitan ng paggamit ng iba't ibang mga pamamaraan o pagsisimula ng vector.



Halimbawa-1: Lumikha ng isang 2-Dimensional na vector ng isang pantay na bilang ng mga haligi

Ipinapakita ng sumusunod na halimbawa ang paraan ng pagdedeklara ng isang 2-dimensional na vector ng tatlong mga hilera at apat na mga haligi na naglalaman ng data ng character. Dito, ang mga halaga ng vector ay tinukoy sa oras ng pagdedeklara ng vector at ang pugad na ‘ para sa 'Loop ay ginamit upang i-print ang mga halaga ng vector.



// Isama ang mga kinakailangang aklatan

# isama

# isama

gamit ang namespace std;
intpangunahing()
{
/ *
Ipahayag ang isang dalawang-dimensional na vector
ng mga tauhan
* /

vector<vector>chrVector
{{'to', 'b', 'c', 'd'}, {'At', 'f', 'g', 'h'}, {'ako', 'j', 'to', 'ang'}};
// I-print ang mga halaga ng vector
gastos<< 'Ang mga halaga ng vector ay: n';
para sa (intako= 0;ako<chrVector.laki();ako++)
{
para sa (intj= 0;j<chrVector[ako].laki();j++)
gastos<<chrVector[ako][j] << ';
gastos<< ' n';
}
bumalik ka 0;
}

Output:





Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas.



Halimbawa-2: Lumikha ng isang 2-Dimensional na vector na may iba't ibang bilang ng mga haligi

Ipinapakita ng sumusunod na halimbawa ang paraan ng pagdedeklara ng isang 2-dimensional na vector ng apat na mga hilera kung saan ang unang hilera ay naglalaman ng isang haligi, ang pangalawang hilera ay naglalaman ng dalawang mga haligi, ang pangatlong hilera ay naglalaman ng tatlong mga haligi, at ang pang-apat na hilera ay naglalaman ng apat na mga haligi. Ang vector ay nagsimula sa data ng integer at naka-print gamit ang pugad na ‘ para sa ’Loop.

// Isama ang mga kinakailangang aklatan

# isama

# isama

gamit ang namespace std;

intpangunahing()
{
/ *
Ipasimula ang 2D vector sa
numero ng integer kung saan naglalaman ang bawat hilera ng magkakaiba
bilang ng mga elemento
* /

vector<vector>intVector
{{dalawampu}, {10, 30}, {limampu, 40, 60 }, {80, 10, 70, 90 }};
// I-print ang mga halaga ng vector gamit ang para sa loop
gastos<< 'Ang mga halaga ng vector ay: n';
para sa (vectorrow:intVector)
{
para sa (intoras:hilera)
gastos<<oras<< ';
gastos<< ' n';
}
bumalik ka 0;
}

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas.

Halimbawa-3: Pasimulan ang isang 2-Dimensional na walang laman na vector na may default na halaga

Ang paraan upang ideklara ang isang 2-dimensional na walang laman na vector ng float number at isimulan ang vector na may isang float number ay ipinakita sa sumusunod na halimbawa. Dito, ginamit ang naka-salad na loop na 'para' upang magsingit ng data sa vector gamit ang ang push_back () pagpapaandar at i-print ang mga halaga ng vector.

Ang default na halaga, 6.5 ay naipasok sa vector sa pamamagitan ng paglikha ng 2 mga hilera at 3 mga haligi. Ang laki () Ginamit ang pagpapaandar upang mabilang ang kabuuang mga hilera at haligi para sa pag-print ng mga halaga ng vector.

// Isama ang mga kinakailangang aklatan

# isama

# isama

gamit ang namespace std;

intpangunahing()
{
// Itakda ang default na halaga
lumutangdefault_value= 6.5;
// Tukuyin ang panlabas na vector
vector<vector>outVect;

para sa (intako= 0;ako< 2;ako++)
{
// Tukuyin ang panloob na vector
vectorinVect;
para sa (intj= 0;j< 3;j++) {
// Ipasok ang default na halaga
inVect.push_back(default_value);
}
// Ipasok ang panloob na vector sa panlabas na vector
outVect.push_back(inVect);
}

// I-print ang mga halaga ng vector
gastos<< 'Ang mga halaga ng vector ay: n';
para sa (intako= 0;ako<outVect.laki();ako++)
{
para sa (intj= 0;j<outVect[ako].laki();j++)
gastos<<outVect[ako][j] << ';
gastos<< ' n';
}
bumalik ka 0;
}

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas. Ipinapakita ng output ang nilalaman ng vector batay sa default na halaga at bilang ng mga hilera at haligi na nilikha ng code.

Halimbawa-4: Pasimulan ang isang 2-Dimensional na walang laman na vector sa pamamagitan ng pagkuha ng mga halaga ng pag-input

Ang paraan upang lumikha ng isang 2-dimensional na vector sa pamamagitan ng pagkuha ng input mula sa gumagamit ay ipinakita sa sumusunod na halimbawa. Ang isang 2-Dimensional na walang laman na vector ng isang integer ay naideklara sa code na maglalaman ng 2 mga hilera at 3 mga haligi.

Ang pugad ‘ para sa Ginamit ang ‘loop upang kumuha ng 6 (2 × 3) na mga numero ng integer mula sa gumagamit at ipasok ang mga ito sa vector gamit ang mga halaga ng index. Isa pang pugad ‘ para sa Ginamit ang ‘loop upang mai-print ang mga nakapasok na halaga ng vector.

// Isama ang mga kinakailangang aklatan

# isama

# isama

gamit ang namespace std;

intpangunahing()
{
// Tukuyin ang bilang ng mga col
intkasama ang= 3;
// Tukuyin ang bilang ng mga hilera
inthilera= 2;
// Initialize a integer variable
intoras= 0;
// Simulan ang walang laman na vector
vector<vector>int2DVector;

// Baguhin ang laki ng panlabas na vector
int2DVector.baguhin ang laki(hilera);
para sa (intako= 0;ako<hilera;ako++)
{
// Baguhin ang laki ng panloob na vector
int2DVector[ako].baguhin ang laki(kasama ang);
para sa (intj= 0;j<kasama ang;j++)
{
// Kumuha ng input mula sa gumagamit
gastosoras;
// Ipasok sa vector
int2DVector[ako][j] =oras;
}
}

// I-print ang mga halaga ng vector
gastos<< 'Ang mga halaga ng vector ay: n';
para sa (intako= 0;ako<int2DVector.laki();ako++)
{
para sa (intj= 0;j<int2DVector[ako].laki();j++)
gastos<<int2DVector[ako][j] << ';
gastos<< ' n';
}
bumalik ka 0;
}

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang code sa itaas. Ipinapakita ng output ang 6 na halaga ng pag-input at ang nilalaman ng vector batay sa bilang ng mga hilera at haligi.

Konklusyon

Ang isang 2-Dimensional na vector ay ginagamit sa C ++ na programa upang mag-imbak at ma-access ang data batay sa mga hilera at haligi. Ang iba't ibang mga paraan upang lumikha ng isang 2-Dimensional vector ay ipinakita sa tutorial na ito sa pamamagitan ng paggamit ng mga simpleng halimbawa. Ang layunin ng paggamit ng 2-Dimensional vector sa C ++ ay malilinaw pagkatapos basahin ang tutorial na ito.