這是我對3x3矩陣的次要實現。 問題是,對於一些奇怪的原因j
未達到2,任何想法爲什麼會發生這種情況?迭代時出錯
//return the minor of a 3x3 matrix
int matrix::minor(int element) const {
std::vector <int> list;
if (rows == columns) {
int result = 0, a = 0, b = 0;
for (int i = 1; i < rows; i++) {
for (int j = 0; j < columns && j != element; j++) {
std::cout << "Adding element " << array[i][j] << std::endl;
list.push_back(array[i][j]);
}
}
std::cout << std::endl;
a = list[0] * list[3];
b = list[1] * list[2];
result = a - b;
return result;
}
else {
std::cout << "Not a square matrix" << std::endl;
return 0;
}
}
我不使用第一行,因爲它是在樞軸
,element
是第一行中的樞紐地位。
'J 1 = element'條件可能是假的,讓你的程序跳出內'for'循環的前'j'達到2 – nglee
不過,我覺得它會遍歷到下一個號碼,不退出整個'爲'我該如何解決這個問題? –
@RenatoA。如果那是真的,你會如何退出'for'循環? –