Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Determinant by Rule of Sarrus
- #include <iostream>
- #include <ctime>
- using std::cout;
- using std::cin;
- using std::endl;
- void main()
- {
- srand(time(0));
- double matrix[3][3];
- for (int i = 0; i < 3; ++i)
- for (int j = 0; j < 3; ++j)
- matrix[i][j] = rand() % 20 - 10;
- double det = matrix[0][0] * matrix[1][1] * matrix[2][2] + matrix[1][0] * matrix[0][2] * matrix[2][1] +
- matrix[0][1] * matrix[1][2] * matrix[2][0] - matrix[2][0] * matrix[1][1] * matrix[0][2] -
- matrix[0][1] * matrix[1][0] * matrix[2][2] - matrix[0][0] * matrix[1][2] * matrix[2][1];
- double det2 = 0.0;
- for (int i = 0; i < 3; i++)
- {
- for (int j = 0; j < 3; j++)
- {
- if (j == i) continue;
- int k = 3 - i - j;
- double x = matrix[0][i] * matrix[1][j] * matrix[2][k];
- x *= ((i - j) * (j - k) *( k - i) > 0) ? 1 : -1;
- det2 += x;
- }
- }
- cout << det << endl;
- cout << det2 << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement