所以我想写一个简单的代码,将采取从用户的2串。 然后它以串的使用长度()的长度,并创建基于所述长度整数的矩阵(2D矢量)。 然后我需要集中的最后一行和最后一列的值,如果输入的字符串是“快乐的”和“悲伤”所产生的基质应该是具有2的幂的值:
0 0 0 0 0 6
0 0 0 0 0 4
0 0 0 0 0 2
10 8 6 4 2 0
我生成这样的矩阵:
vector<vector<int>> opt;
unsigned int x, y;
x = (sequenceOne.length()) + 1;
y = (sequenceTwo.length()) + 1;
unsigned int p,q;
opt.resize(y, vector<int>(x, 0)); // resizes the matrix
当我试图改变在矩阵的值:
opt[2][2] = 5;
它工作正常,但是当我去访问的最后一行最后一列是这样的:
opt[x][y]
它告诉我“表达:向量下标越界”我认为这是与该得到的字符串作为值使用的长度,但我不能为我的生命弄清楚为什么会引起问题。 我试图使像标选择[X-1]不同的变量,不同的顺序,和东西[Y-1],但仍然出现错误。
我不知道,如果它的问题,但我使用MS VS2012。