Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ में यूजर डिफाइंड साइज़ के साथ 2D वेक्टर

एक वेक्टर का वेक्टर 2D वेक्टर कहलाता है।

एल्गोरिदम

शुरुआत
    2D वेक्टर टाइप का वेरिएबल v घोषित करें
    वेक्टर v में मान इनिशियलाइज़ करें
    "2D वेक्टर है:" प्रिंट करें
    for (int i = 0; i < v.size(); i++)
        for (int j = 0; j < v[i].size(); j++)
            2D वेक्टर v[i][j] का मान प्रिंट करें
समाप्ति

उदाहरण

#include <iostream>
#include <vector> // C++ में 2D वेक्टर के लिए हेडर फ़ाइल
using namespace std;

int main() {
    vector<vector<int> > v{ 
        { 4, 5, 3, 10 }, // 2D वेक्टर को मानों के साथ इनिशियलाइज़ करना
        { 2, 7, 11 },
        { 3, 2, 1, 12 }
    };
    cout << "2D वेक्टर है:" << endl;
    for (int i = 0; i < v.size(); i++) { // 2D वेक्टर प्रिंट करना
        for (int j = 0; j < v[i].size(); j++)
            cout << v[i][j] << " ";
        cout << endl;
    }
    return 0;
}

आउटपुट

2D वेक्टर है:
4 5 3 10
2 7 11
3 2 1 12

डायनामिक 2D वेक्टर निर्माण

रनटाइम पर साइज़ के साथ

int rows, cols;
cin >> rows >> cols;
vector> matrix(rows, vector(cols, 0)); // rows x cols, 0 से भरा

// इनपुट लें
for (int i = 0; i < rows; i++)
    for (int j = 0; j < cols; j++)
        cin >> matrix[i][j];

अनियमित (जैग्ड) 2D वेक्टर

vector> jagged = {
    {1, 2, 3},
    {4, 5},
    {6, 7, 8, 9}
};
// प्रत्येक रो का अलग साइज़ हो सकता है

उपयोगी ऑपरेशन्स

ऑपरेशन कोड
रो जोड़ना matrix.push_back({1,2,3});
कॉलम जोड़ना (सभी रो में) for(auto& row: matrix) row.push_back(0);
एलिमेंट एक्सेस matrix[i][j] या matrix.at(i).at(j) (बाउंड्स चेकिंग के साथ)
साइज़ प्राप्त करना matrix.size() (रो), matrix[i].size() (कॉलम)
  1. C++ में 3n स्लाइस वाली पिज्जा C++ में 3n स्लाइस वाली पिज्जा

    समस्या विवरण मान लीजिए 3n स्लाइस वाली एक पिज्जा है जिसके स्लाइस विभिन्न आकार के हैं। मैं और मेरे दो दोस्त पिज्जा के स्लाइस निम्नानुसार लेंगे: मैं कोई भी पिज्जा स्लाइस चुनूंगा। मेरा दोस्त अमल मेरे चुने हुए स्लाइस के एंटी-क्लॉकवाइज दिशा में अगला स्लाइस लेगा। मेरा दोस्त बिमल मेरे चुने हुए स्लाइस के क

  1. - C++ में वेक्टर को सॉर्ट करना

    C++ में वेक्टर को सॉर्ट करना std::sort() का उपयोग करके किया जा सकता है। यह <algorithm> हेडर में परिभाषित है। एक स्थिर सॉर्ट प्राप्त करने के लिए std::stable_sort का उपयोग किया जाता है। यह बिल्कुल sort() की तरह है लेकिन समान एलिमेंट्स के सापेक्ष क्रम को बनाए रखता है। आवश्यकतानुसार Quicksort(),

  1. - C++ में std::vector को शफ़ल कैसे करें?

    वेक्टर को शफ़ल करने के लिए फिशर-येट्स शफ़ल एल्गोरिदम का उपयोग किया जाता है। इस एल्गोरिदम में, वेक्टर का एक लीनियर स्कैन किया जाता है और फिर प्रत्येक एलिमेंट को शेष सभी एलिमेंट्स (स्वयं सहित) में से एक रैंडम एलिमेंट के साथ स्वैप किया जाता है। एल्गोरिदम शुरुआत show() फ़ंक्शन घोषित करें show(