Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.95/75: Рейтинг темы: голосов - 75, средняя оценка - 4.95
0 / 0 / 0
Регистрация: 10.06.2020
Сообщений: 17
1

Вычисление определителя матрицы

11.06.2020, 20:09. Показов 14447. Ответов 6

Author24 — интернет-сервис помощи студентам
как переписать код для матрицы с элементами в int, если есть пример для матрицы с элементами в double
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
public class TestDeterm {
    public static void main(String[] args) {
        double [][] mat4 = {
                {1.0,1.0,-1.0,-1.0},
                {2.0,1.0,2.0,3.0},
                {3.0,4.0,5.0,6.0},
                {5.0,7.0,8.0,9.0}
        };
        double [][] mat3 = {
                {1.0,2.0,3.0},
                {4.0,5.0,6.0},
                {7.0,8.0,9.0}
        };
        double [][] mat2 = {
                {1,2},
                {3,4},
        };
        Determin dd = new Determin(mat4);
                dd.getValue();
                Determin aa = new Determin(mat2);
                aa.getValue();
        Determin bb = new Determin(mat3);
        bb.getValue();
    }
}
//=================
 class Determin {
    private double summ;
 
    public Determin(double[][] matrix) {
        getReduction(matrix, 1);
    }
 
 
    public void getValue() {
        System.out.printf("%.2f", this.summ);
        System.out.println("");
 
    }
 
 
    private void getReduction(double [][] subMinor, double elemParentMinor) {
        if (subMinor.length > 1){
            double [][] tmpMinor = new double[subMinor.length - 1][subMinor[0].length - 1];
            for (int c = 0; c < subMinor[0].length; c++) {
                for (int i = 1; i < subMinor.length; i++) {
                    for (int j = 0; j < subMinor[0].length; j++) {
                        if (j < c)
                            tmpMinor[i - 1][j] = subMinor[i][j];
                        else if (j > c)
                            tmpMinor[i - 1][j - 1] = subMinor[i][j];
                    }
                }
                double paramForSub = Math.pow(-1,c+2)*subMinor[0][c]*elemParentMinor;
                getReduction(tmpMinor, paramForSub);
            }
        }
        else
            this.summ += elemParentMinor * subMinor[0][0];
    }
 
}
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2020, 20:09
Ответы с готовыми решениями:

Нахождение определителя (детерминанта) матрицы
Написать программу нахождения определителя(детерминанта) двумерного массива.

Вычисление определителя и передача массива в метод
Здравствуйте! Задался целью написать алгоритм для вычисления определителя матрицы размером 3*3....

Вычисление определителя матрицы
Определитель Посчитать определитель заданной матрицы A....

Вычисление определителя матрицы
https://www.cyberforum.ru/lisp/thread932196.html package main import &quot;fmt&quot; var a =...

6
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.06.2020, 20:31 2
Лучший ответ Сообщение было отмечено iSmokeJC как решение

Решение

Кэп говорит, что для этого нужно в коде double заменить на int
0
0 / 0 / 0
Регистрация: 10.06.2020
Сообщений: 17
11.06.2020, 21:03  [ТС] 3
не все так просто, int тип целых чисел, а double тип вещественных. И задачу надо бы решить в классе Matrix, в котором двумерный массив, хранящий элементы матрицы конструкторов:
- по умолчанию - создается массив 2 x 2 (квадратная матрица)
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class Matrix {
    //поля класса
    int n = 0, m = 0;
    private int array[][];
 
    //перегруженный конструктор
    Matrix(int[][] array) {
        this.array = array;
        this.n = array.length;
        this.m = array[0].length;
    }
 
    //перегруженный конструктор
    Matrix(Matrix matrix) {
        this.array = matrix.array;
        this.n = matrix.n;
        this.m = matrix.m;
    }
 
    //конструктор по-умолчанию
    Matrix() {
        this.n = 2;
        this.m = 2;
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
19240 / 10959 / 2919
Регистрация: 21.10.2017
Сообщений: 23,159
11.06.2020, 21:23 4
ОЛЕГ 75, и?
0
0 / 0 / 0
Регистрация: 10.06.2020
Сообщений: 17
11.06.2020, 21:48  [ТС] 5
пробовал эти две программы объединить, но среда и компилятор всё ошибки выдает, подскажите как решить задачу
0
Am I evil? Yes, I am!
Эксперт PythonЭксперт Java
19240 / 10959 / 2919
Регистрация: 21.10.2017
Сообщений: 23,159
11.06.2020, 21:52 6
Цитата Сообщение от ОЛЕГ 75 Посмотреть сообщение
как решить задачу
Нужно ее написать, а не пытаться собрать в кучу куски разных программ.
0
Эксперт Java
3639 / 2971 / 918
Регистрация: 05.07.2013
Сообщений: 14,220
11.06.2020, 22:11 7
Цитата Сообщение от ОЛЕГ 75 Посмотреть сообщение
int тип целых чисел, а double тип вещественных
no shit sherlock
0
11.06.2020, 22:11
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2020, 22:11
Помогаю со студенческими работами здесь

Вычисление определителя матрицы
Задание написано на фото. Массив задала и вывела, осталось вычислить по формулам и сделать рекурсию...

Вычисление определителя матрицы
Здравствуйте, уважаемы форумчане! Помогите, пожалуйста, найти ошибку в программе. Она должна...

Вычисление определителя матрицы
Как вычислить определитель матрицы при i от 0 до n-1 j от 0 до n-1? uses crt; const l=10; {...

Вычисление определителя матрицы N*N
Дорогие форумчане, никто не подскажет как вычислить определитель квадратной матрицы, сам код не...

Вычисление определителя матрицы 3-го порядка
Нужно вычислить определитель матрицы 3 порядка.Ввод с клавиатуры.

Вычисление определителя вещественной матрицы
Здравствуйте, возможно, на форуме и есть такая задача, но я ее не нашел. Скажите как это...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru