Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <cmath>
- using namespace std;
- int calcMatriz(int matriz[100][100], int orden)
- {
- int submatriz[100][100];
- int determinant = 0;
- if (orden == 2)
- {
- return (matriz[0][0] * matriz[1][1] - matriz[0][1] * matriz[1][0]);
- }
- else
- {
- for (int pos = 0; pos < orden; pos++) //Definimos la posición del valor que afectará (más tarde) al signo en la fórmula de la adjunta (-1)^pos
- {
- int subi = 0;
- for (int i = 1; i < orden; i++)
- {
- int subj = 0;
- for (int j = 0; j < orden; j++)
- {
- if (j == pos)
- continue;
- else
- submatriz[subi][subj] = matriz[i][j];
- subj++;
- }
- subi++;
- }
- determinant = determinant + pow(-1, pos) * matriz[0][pos] * calcMatriz(submatriz, orden - 1);
- }
- }
- return determinant;
- }
- int main()
- {
- int orden, matriz[100][100];
- cout << "Indique el orden de la matriz que desea calcular: ";
- cin >> orden;
- cout << "\n\nAhora introduzca los valores para dicha matriz:\n";
- for (int i = 0; i < orden; i++)
- {
- cout << "\nValores de la fila " << i + 1 << ":\n\n";
- for (int j = 0; j < orden; j++) {
- cin >> matriz[i][j];
- }
- }
- cout << "\nSu matriz tiene este aspecto: \n\n";
- for (int i = 0; i < orden; i++)
- {
- for (int j = 0; j < orden; j++)
- {
- cout << matriz[i][j] << " ";
- }
- cout << endl;
- }
- cout << "\nEl determinante de su matriz es: " << calcMatriz(matriz, orden);
- cout << "\nQuiere calcular otro determinante? (Y o N): ";
- char a;
- cin >> a;
- if (a == 'Y' || a == 'y')
- {
- cout << "\n-------------------------------------------\n";
- return(main());
- }
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement