3by3行列クラスが正しく動作しません。 3番目のインスタンスを使用して乗算して回答を保存し、2つのインスタンスを掛けると、正しく動作します。しかし、私が* *しようとすると、それは私に奇妙な数字を与えます。3by3行列乗算
ここでの正規*と* =機能:何らかの理由で私を得る[18] [18] [18] [108] [228] [18] [108] [708] [については
threeby3matrix operator*(threeby3matrix& multiplier)
{
threeby3matrix m1;
m1[0] = matrix[0] * multiplier[0] + matrix[1] * multiplier[3] + matrix[2] * multiplier[6];
m1[1] = matrix[3] * multiplier[1] + matrix[4] * multiplier[4] + matrix[5] * multiplier[7];
m1[2] = matrix[6] * multiplier[2] + matrix[7] * multiplier[5] + matrix[8] * multiplier[8];
m1[3] = matrix[0] * multiplier[0] + matrix[1] * multiplier[3] + matrix[2] * multiplier[6];
m1[4] = matrix[3] * multiplier[1] + matrix[4] * multiplier[4] + matrix[5] * multiplier[7];
m1[5] = matrix[6] * multiplier[2] + matrix[7] * multiplier[5] + matrix[8] * multiplier[8];
m1[6] = matrix[0] * multiplier[0] + matrix[1] * multiplier[3] + matrix[2] * multiplier[6];
m1[7] = matrix[3] * multiplier[1] + matrix[4] * multiplier[4] + matrix[5] * multiplier[7];
m1[8] = matrix[6] * multiplier[2] + matrix[7] * multiplier[5] + matrix[8] * multiplier[8];
return m1;
}
threeby3matrix& operator*=(threeby3matrix& multiplier)
{
matrix[0] = matrix[0] * multiplier[0] + matrix[1] * multiplier[3] + matrix[2] * multiplier[6];
matrix[1] = matrix[3] * multiplier[1] + matrix[4] * multiplier[4] + matrix[5] * multiplier[7];
matrix[2] = matrix[6] * multiplier[2] + matrix[7] * multiplier[5] + matrix[8] * multiplier[8];
matrix[3] = matrix[0] * multiplier[0] + matrix[1] * multiplier[3] + matrix[2] * multiplier[6];
matrix[4] = matrix[3] * multiplier[1] + matrix[4] * multiplier[4] + matrix[5] * multiplier[7];
matrix[5] = matrix[6] * multiplier[2] + matrix[7] * multiplier[5] + matrix[8] * multiplier[8];
matrix[6] = matrix[0] * multiplier[0] + matrix[1] * multiplier[3] + matrix[2] * multiplier[6];
matrix[7] = matrix[3] * multiplier[1] + matrix[4] * multiplier[4] + matrix[5] * multiplier[7];
matrix[8] = matrix[6] * multiplier[2] + matrix[7] * multiplier[5] + matrix[8] * multiplier[8];
return *this;
}
1638]
すべてが18であるべきである。私は括弧で囲むことを試みたが、何も動作していないようだ。
も、私は言及を忘れてしまったあなたはまだ、まだループ、「用」については何も知りました、私は2次元配列 – student
を保存するために、単一の次元動的配列を使用? –
@SamVarshavchik - 私は彼らが刻むためにタイピングをしたいと思うよ、 –