C++ में 2-आयामी वेक्टर

2 Dimensional Vector C



वेक्टर का उपयोग एक गतिशील सरणी बनाने के लिए किया जाता है और वेक्टर से तत्वों को जोड़कर और हटाकर वेक्टर के आकार को बढ़ाया और घटाया जा सकता है। जब एक वेक्टर को दूसरे वेक्टर के अंदर घोषित किया जाता है तो वेक्टर को 2-आयामी वेक्टर कहा जाता है जो 2-आयामी सरणी की तरह काम करता है। 2-आयामी वेक्टर में पंक्तियों की कई संख्याएँ होती हैं जहाँ प्रत्येक पंक्ति एक और वेक्टर होती है। C++ में 2-आयामी वेक्टर का उपयोग इस ट्यूटोरियल में दिखाया गया है।

वाक्य - विन्यास:

द्वि-आयामी वेक्टर का सिंटैक्स नीचे दिया गया है।







वेक्टर<वेक्टर<डाटा प्रकार>>वेक्टर_नाम;

वेक्टर घोषणा के समय एक विशेष डेटा प्रकार परिभाषित किया जाता है। यदि सदिश आकार परिभाषित नहीं है तो सदिश को रिक्त सदिश कहा जाता है। विभिन्न तरीकों का उपयोग करके या वेक्टर को इनिशियलाइज़ करके वेक्टर का आकार बदला जा सकता है।



उदाहरण -1: समान संख्या में स्तंभों का 2-आयामी वेक्टर बनाएं

निम्न उदाहरण तीन पंक्तियों और चार स्तंभों के 2-आयामी वेक्टर को घोषित करने का तरीका दिखाता है जिसमें वर्ण डेटा होता है। यहां, वेक्टर घोषणा के समय वेक्टर के मूल्यों को परिभाषित किया गया है और नेस्टेड ' के लिये लूप का उपयोग वेक्टर के मूल्यों को मुद्रित करने के लिए किया गया है।



// आवश्यक पुस्तकालयों को शामिल करें

#शामिल

#शामिल

नेमस्पेस एसटीडी का उपयोग करना;
NSमुख्य()
{
/ *
द्वि-आयामी वेक्टर घोषित करें
पात्रों का
* /

वेक्टर<वेक्टर>chrवेक्टर
{{'प्रति', 'बी', 'सी', 'डी'}, {'और', 'एफ', 'जी', 'एच'}, {'मैं', 'जे', 'प्रति', 'NS'}};
// वेक्टर के मूल्यों को प्रिंट करें
लागत<< 'वेक्टर के मान हैं:एन';
के लिये (NSमैं= 0;मैं<chrवेक्टरआकार();मैं++)
{
के लिये (NSजे= 0;जे<chrवेक्टर[मैं].आकार();जे++)
लागत<<chrवेक्टर[मैं][जे] << '';
लागत<< 'एन';
}
वापसी 0;
}

आउटपुट:





उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा।



उदाहरण -2: स्तंभों की भिन्न संख्या के साथ एक 2-आयामी वेक्टर बनाएं

निम्न उदाहरण चार पंक्तियों के 2-आयामी वेक्टर को घोषित करने का तरीका दिखाता है जहां पहली पंक्ति में एक कॉलम होता है, दूसरी पंक्ति में दो कॉलम होते हैं, तीसरी पंक्ति में तीन कॉलम होते हैं, और चौथी पंक्ति में चार कॉलम होते हैं। वेक्टर ने पूर्णांक डेटा के साथ आरंभ किया है और नेस्टेड का उपयोग करके मुद्रित किया है ' के लिये ' कुंडली।

// आवश्यक पुस्तकालयों को शामिल करें

#शामिल

#शामिल

नेमस्पेस एसटीडी का उपयोग करना;

NSमुख्य()
{
/ *
के साथ 2D वेक्टर प्रारंभ करें
पूर्णांक संख्या जहां प्रत्येक पंक्ति अलग होती है
तत्वों की संख्या
* /

वेक्टर<वेक्टर>इंटवेक्टर
{{बीस}, {10, 30}, {पचास, 40, 60 }, {80, 10, 70, 90 }};
// लूप के लिए वेक्टर के मूल्यों को प्रिंट करें
लागत<< 'वेक्टर के मान हैं:एन';
के लिये (वेक्टररो:इंटवेक्टर)
{
के लिये (NSबजे:पंक्ति)
लागत<<बजे<< '';
लागत<< 'एन';
}
वापसी 0;
}

आउटपुट:

उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा।

उदाहरण -3: डिफ़ॉल्ट मान के साथ 2-आयामी खाली वेक्टर प्रारंभ करें

फ्लोट नंबर के 2-आयामी खाली वेक्टर को घोषित करने और वेक्टर को फ्लोट नंबर के साथ आरंभ करने का तरीका निम्नलिखित उदाहरण में दिखाया गया है। यहां, नेस्टेड 'फॉर' लूप का उपयोग वेक्टर में डेटा डालने के लिए किया गया है पुश_बैक () फ़ंक्शन और वेक्टर के मानों को प्रिंट करें।

डिफ़ॉल्ट मान, 6.5 को 2 पंक्तियों और 3 कॉलम बनाकर वेक्टर में डाला गया है। NS आकार () फ़ंक्शन का उपयोग वेक्टर के मानों को प्रिंट करने के लिए कुल पंक्तियों और स्तंभों की गणना करने के लिए किया गया है।

// आवश्यक पुस्तकालयों को शामिल करें

#शामिल

#शामिल

नेमस्पेस एसटीडी का उपयोग करना;

NSमुख्य()
{
// डिफ़ॉल्ट मान सेट करें
पानी पर तैरनाडिफ़ॉल्ट मान= 6.5;
// बाहरी वेक्टर को परिभाषित करें
वेक्टर<वेक्टर>आउटवेक्ट;

के लिये (NSमैं= 0;मैं< 2;मैं++)
{
// आंतरिक वेक्टर को परिभाषित करें
वेक्टरिनवेक्ट;
के लिये (NSजे= 0;जे< 3;जे++) {
// डिफ़ॉल्ट मान डालें
इनवेक्टवापस धक्का देना(डिफ़ॉल्ट मान);
}
// बाहरी वेक्टर में आंतरिक वेक्टर डालें
आउटवेक्टवापस धक्का देना(inVect);
}

// वेक्टर के मूल्यों को प्रिंट करें
लागत<< 'वेक्टर के मान हैं:एन';
के लिये (NSमैं= 0;मैं<आउटवेक्टआकार();मैं++)
{
के लिये (NSजे= 0;जे<आउटवेक्ट[मैं].आकार();जे++)
लागत<<आउटवेक्ट[मैं][जे] << '';
लागत<< 'एन';
}
वापसी 0;
}

आउटपुट:

उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। आउटपुट वेक्टर की सामग्री को डिफ़ॉल्ट मान और कोड द्वारा बनाई गई पंक्तियों और स्तंभों की संख्या के आधार पर दिखाता है।

उदाहरण -4: इनपुट मान लेकर एक 2-आयामी खाली वेक्टर प्रारंभ करें

उपयोगकर्ता से इनपुट लेकर 2-आयामी वेक्टर बनाने का तरीका निम्न उदाहरण में दिखाया गया है। कोड में एक पूर्णांक का 2-आयामी खाली वेक्टर घोषित किया गया है जिसमें 2 पंक्तियाँ और 3 कॉलम होंगे।

नेस्टेड ' के लिये लूप का उपयोग उपयोगकर्ता से 6(2×3) पूर्णांक संख्याएँ लेने और उन्हें अनुक्रमणिका मानों का उपयोग करके वेक्टर में डालने के लिए किया गया है। एक और नेस्टेड ' के लिये लूप का उपयोग वेक्टर के सम्मिलित मूल्यों को प्रिंट करने के लिए किया गया है।

// आवश्यक पुस्तकालयों को शामिल करें

#शामिल

#शामिल

नेमस्पेस एसटीडी का उपयोग करना;

NSमुख्य()
{
// कॉल्स की संख्या को परिभाषित करें
NSउसके साथ= 3;
// पंक्तियों की संख्या को परिभाषित करें
NSपंक्ति= 2;
// एक पूर्णांक चर प्रारंभ करें
NSबजे= 0;
// खाली वेक्टर को इनिशियलाइज़ करें
वेक्टर<वेक्टर>int2Dवेक्टर;

// बाहरी वेक्टर का आकार बदलें
int2Dवेक्टर।आकार(पंक्ति);
के लिये (NSमैं= 0;मैं<पंक्ति;मैं++)
{
// आंतरिक वेक्टर का आकार बदलें
int2Dवेक्टर[मैं].आकार(उसके साथ);
के लिये (NSजे= 0;जे<उसके साथ;जे++)
{
// उपयोगकर्ता से इनपुट लें
लागतबजे;
// वेक्टर में डालें
int2Dवेक्टर[मैं][जे] =बजे;
}
}

// वेक्टर के मूल्यों को प्रिंट करें
लागत<< 'वेक्टर के मान हैं:एन';
के लिये (NSमैं= 0;मैं<int2Dवेक्टर।आकार();मैं++)
{
के लिये (NSजे= 0;जे<int2Dवेक्टर[मैं].आकार();जे++)
लागत<<int2Dवेक्टर[मैं][जे] << '';
लागत<< 'एन';
}
वापसी 0;
}

आउटपुट:

उपरोक्त कोड को निष्पादित करने के बाद निम्न आउटपुट दिखाई देगा। आउटपुट पंक्तियों और स्तंभों की संख्या के आधार पर 6 इनपुट मान और वेक्टर की सामग्री दिखाता है।

निष्कर्ष

पंक्तियों और स्तंभों के आधार पर डेटा को स्टोर और एक्सेस करने के लिए C++ प्रोग्रामिंग में 2-आयामी वेक्टर का उपयोग किया जाता है। सरल उदाहरणों का उपयोग करके इस ट्यूटोरियल में 2-आयामी वेक्टर बनाने के विभिन्न तरीके दिखाए गए हैं। इस ट्यूटोरियल को पढ़ने के बाद C++ में 2-आयामी वेक्टर का उपयोग करने का उद्देश्य स्पष्ट हो जाएगा।