2014-12-07 6 views
13

की पंक्ति आकार मैं इस तरह एक वेक्टर है।स्तंभ आकार और सी में एक 2 डी वेक्टर ++

मैं इस वेक्टर की पंक्ति गणना और कॉलम गिनती खोजना चाहता हूं।

पंक्ति संख्या के लिए मैं के साथ आ:

myVector[0].size(); 

स्तंभ गणना के लिए, मैं नहीं अप कुछ भी साथ आ सकते हैं। क्या आप मुझे बता सकते हैं कि मेरी पंक्ति गणना सही है और क्या आप मुझे बता सकते हैं कि मैं कॉलम गिनती कैसे प्राप्त कर सकता हूं? धन्यवाद।

उत्तर

9

आपके पास पूर्णांक वैक्टर myVector[0].size() का वेक्टर है जो आपको 2 डी वेक्टर में पहले इंट वेक्टर में तत्वों की मात्रा देता है।

ऐसे वेक्टर की संरचना इस तरह दिखता है:

myVector[ 
    Vector[0, 4, 2, 5], 
    Vector[1, 4, 2] 
]; 

जब आप [1] .size) myVector के लिए कॉल (यह 3 वापसी होगी और [0] वापस होगा 4.

के लिए 2d सदिश में पंक्तियों (पूर्णांक वैक्टर) की राशि, तुम बस का उपयोग myVector.size()

आप इस चलाए जा सकते हैं कार्यों में यह देखने के लिए

#include <iostream> 
#include <vector> 

int main(){ 
    std::vector<std::vector<int>>MyVector; 
    std::vector<int>temp; 

    temp.push_back(1); 
    temp.push_back(2); 
    temp.push_back(3); 
    MyVector.push_back(temp); 

    std::cout << "Rows in the 2d vector: " << MyVector.size() << 
    std::endl << "Collumns in the 1st row: " << MyVector[0].size() << 
    std::endl; 

    system("pause"); 
    return 0; 
} 
1
for(int i=0;i<v.size();i++){ 
    for(int j=0;j<v[i].size();j++){ 
     cout<<v[i][j]<<" "; 
    } 
    cout<<endl; 
} 

यहां वी कॉलम आकार के मामले में भिन्न आकार के दो आयामी वेक्टर हैं। कॉलम आकार के लिए आप बस v.size() का उपयोग कर सकते हैं क्योंकि यह पंक्तियों की कुल संख्या देता है और v [i] .size() आपको ith पंक्ति में कॉलम की कुल संख्या देता है। फोलोइंग कोड को दो आयामी वेक्टर के माध्यम से पुनरावृत्त करने के लिए उपयोग किया जा सकता है।

संबंधित मुद्दे