Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Matrix2x2 Matrix2x2::stringchange()
- {
- Matrix2x2 a;
- a.matr[0][0] = matr[1][0];
- a.matr[0][1] = matr[1][1];
- a.matr[1][0] = matr[0][0];
- a.matr[1][1] = matr[0][1];
- return a;
- }
- Matrix2x2 Matrix2x2::equivalentDiagonal()
- {
- Matrix2x2 a;
- if (matr[0][0] == 0 && matr[1][1] == 0)
- {
- a = this->stringchange(); //просто меняем строки местами
- }
- else
- {
- if (matr[0][0] == 0 && matr[0][1] != 0)
- {
- for (i = 0; i < 2; i++)
- for (j = 0; j < 2; j++)
- a.matr[i][j] = matr[i][j];
- a.matr[1][1] = matr[0][1] * (-matr[1][1] / matr[0][1]) + matr[1][1];
- a = a.stringchange();
- }
- else
- {
- if (matr[1][1] == 0 && matr[1][0] != 0)
- {
- for (i = 0; i < 2; i++)
- for (j = 0; j < 2; j++)
- a.matr[i][j] = matr[i][j];
- a.matr[0][0] = matr[0][0] + (-matr[0][0] / matr[1][0]) * matr[1][0];
- a = a.stringchange();
- }
- else
- {
- a.matr[1][0] = matr[0][0] * (-matr[1][0] / matr[0][0]) + matr[1][0];
- a.matr[1][1] = matr[0][1] * (-matr[1][0] / matr[0][0]) + matr[1][1];
- a.matr[0][0] = matr[0][0];
- a.matr[0][1] = matr[0][1] + (-matr[0][1] / a.matr[1][1]) * a.matr[1][1];
- }
- }
- }
- return a;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement