Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- #include <fstream>
- using namespace std;
- /*
- Определитель матрицы A=[n×n] — это алгебраическая сумма n! слагаемых, составленных следующим образом.
- */
- int **A, *B;
- ifstream devInput("H:/C Projects/Lab13/det_tests.txt", ios_base::binary);
- ifstream invInput("H:/C Projects/Lab13/inv_tests.txt", ios_base::binary);
- float eps = 0.001;
- void determinant(int **a, int r) {
- int i = 0, n = r, p = 1, v, j, z;
- while (i < n) {
- // выбор ведущего элемента
- v = i;
- for (j = i + 1; j < n; j++)
- if (abs(a[j][i]) > abs(a[v][i])) v = j;
- if (abs(a[v][i]) < eps) r = i;
- else {
- // перестановка строк
- if (v != i) {
- p -= p;
- for (j = i; j <= n; j++) {
- z = a[i][j];
- a[i][j] = a[v][j];
- a[v][j] = z;
- }
- }
- // вычитание строк матрицы
- i += 1;
- }
- }
- // вычисление определителя
- }
- int main()
- {
- devInput.seekg(8);
- int r, c; //amount of rows and collumns
- devInput >> r;
- c = r;
- // выделение памяти под матрицу
- A = new int*[r]; // задаём указатель на количество строк
- for (int i = 0; i < r; i++) {
- A[i] = new int[c];
- }
- // считываем матрицу
- for (int i = 0; i < r; i++) {
- for (int j = 0; j < c; j++) {
- devInput >> A[i][j];
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement