/ / वेक्टर 2 डी पहले उपयोग - सी ++, वेक्टर

वेक्टर 2 डी पहले उपयोग - सी ++, वेक्टर

सी ++ में 2 डी वैक्टर का उपयोग करने के लिए यह मेरा पहला समय है और ऐसा लगता है कि मैं वर्जित स्थान तक पहुंचने की कोशिश कर रहा हूं हालांकि लूप की अनुक्रमणिका आकार से कम है

int generate_(vector<int> row,vector<int> column)
{
int i=1,j=1,k=0,l=0;
vector<vector<int > >matrix;//2D vector


for(k=0,l=0;l<column.size();l++)
{
matrix[k][l]=row[l];
cout << matrix[k][l]<<endl;
}

for(k=0,l=0;l<row.size();l++)
matrix[l][k]=column[l];

for(i=1;i<row.size();i++)
{
for(j=1;j<column.size();j++)
{
matrix[i][j]=matrix[i][j-1]+matrix[i-1][j]+matrix[i-1][j-1];

}
}
return matrix[i-1][j-1];
}

उत्तर:

उत्तर № 1 के लिए 1

मैट्रिक्स प्रारंभ नहीं किया गया है, इसमें कोई तत्व नहीं है इसलिए मैट्रिक्स [के] [एल] अपवाद उठाएगा


जवाब के लिए 0 № 2

समझना कि आपने मैट्रिक्स में डेटा को प्रारंभ करने का प्रयास किया है, लेकिन प्रारंभ करने से पहले आपको इस मैट्रिक्स के लिए स्मृति आवंटित करना होगा।

इस लाइन को बदलें

vector<vector<int > >matrix;//2D vector

सेवा मेरे

vector<vector<int > >matrix(column.size(), vector<int>(column.size(), 0));

के बराबर:

vector<int> intVector(column.size(), 0)
vector<vector<int > >matrix(column.size(), intVector);

[छवि www.stackover.com से कॉपी की गई, लेकिन मैंने मूल पोस्ट आईडी खो दी] यहां छवि विवरण दर्ज करें