-1
行列の行列式の行列式を計算しようとしています。行列の決定子をC++で再帰的に
私が書いた関数はパラメータを取っていません(クラス内の関数なので、マトリックスは "this->"コマンドで定義されています)。 行列2x2を解くことができる最小のケースだと思います。この場合、3x3の行列では、最初の要素に2x2(2x2 * 3x3 - 2x3 * 3x2)の行列式を乗じることで解くことができますが、もちろんそれを繰り返し行う必要があります。値。現時点では
私のコードは次のいずれかです。
int Matriz::calcularDeterminante()
{
int numero=0;
int signo = 1;
if (n_filas == 1) {
return (this->matriz[0][0]);
}
else if (n_filas == 2) {
return (this->matriz[0][0] * this->matriz[1][1]) - (this->matriz[0][1] * this->matriz[1][0]);
}
else {
for (int i = 0; i < n_filas; i++) {
if (signo == 0) {
numero += -1* matriz[0][i] * calcularDeterminante();
signo++;
}
else if (signo == 1) {
numero += signo * matriz[0][i] * calcularDeterminante();
signo--;
}
}
}
return numero;
}
が、再帰呼び出しはちょうど間違っています。
あなたの質問は何ですか? – UnholySheep
行列式を解くことができるように再帰呼び出しを行う方法 –
何をやってみましたか?コードを表示し、問題の内容を説明してください。今すぐあなたのコードを書くように頼んだかのように聞こえます – UnholySheep