|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.08.2017, 23:28 | #1 |
Регистрация: 12.08.2017
Сообщений: 7
|
Вычисление определителя и передача массива в метод Java
Здравствуйте!
Задался целью написать алгоритм для вычисления определителя матрицы размером 3*3. Попробовал такой код: public class Opredelitel { public static void main(String[] args) { Minor Min = new Minor(); Double [] Crew = new Double[13]; Double[][] MatrixNet = new Double[3][3]; MatrixNet[0][0] = 0.1; MatrixNet[0][1] = 0.5; MatrixNet[0][2] = 1.5; MatrixNet[1][0] = 1.1; MatrixNet[1][1] = 1.5; MatrixNet[1][2] = 1.0; MatrixNet[2][0] = 2.1; MatrixNet[2][1] = 2.5; MatrixNet[2][2] = 0.5; for (int k = 0; k < 3; k++) { for (int i = 0; i < MatrixNet.length; i++) { for (int j = 0; j < MatrixNet.length; j++) if ((i != k) & (j != 0)) { int t = 0; Crew[t] = MatrixNet[i][j]; double m = Min.Chek(MatrixNet[0][0],MatrixNet[1][0],MatrixNet[2][0],Crew); System.out.print(m); } } } } } public class Minor { public double m; public double Chek(double MatrixNet1, double MatrixNet2, double MatrixNet3, Double[] Crew) { for (int i=0; i<=13;i++) m = double MatrixNet1*(Crew [0]*Crew [3]-Crew [1]*Crew [2])-double MatrixNet2*(Crew [4]*Crew [7]+Crew [5]*Crew [6])-double MatrixNet3*(Crew [8]*Crew [11]-Crew [9]*Crew [10]); return m; } } В вызывающем методе 3-мя циклами отбираются элементы трех алгебраических дополнений для элементов в 3-х строках. То есть всего 12 элементов. С этой задачей алгоритм справляется превосходно. А на следующем этапе я хотел эти 12 элементов MatrixNet[i][j] записать в новый - уже одномерный - массив Crew[t]. И передать этот новый массив в качестве аргумента в метод Minor, в котором уже вычисляется определитель, как сумма произведений соответствующих элементов на их алгебраические дополнения. Соответствующие элементы передаю также в качестве аргументов В результате выдает: NullPointedException Попробовал упростить задачу. Передавал только массив (без отдельных элементов) и в методе Minor вычислял, к примеру, Crew [0] + Crew [2]. Выдает то же самое... |
13.08.2017, 18:24 | #2 |
Форумчанин
Регистрация: 19.11.2011
Сообщений: 198
|
1. Обратите внимание на код
Код:
2. Что тут за bouble'ы? Код:
Последний раз редактировалось alexey_kip; 13.08.2017 в 18:30. |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача массива параметров в метод | Artsiom | PHP | 8 | 10.10.2016 20:30 |
Передача массива в метод | Sempe4 | Общие вопросы .NET | 6 | 16.06.2010 17:25 |
Передача двумерного динамического массива в метод | Дырдин | Общие вопросы C/C++ | 1 | 19.03.2010 09:45 |
Вычисление определителя | Sparky | Помощь студентам | 15 | 07.03.2010 19:42 |
Си шарп..) Метод рекурсии. Вычисление определителя матрицы произвольного размера. | Sneginka* | Помощь студентам | 1 | 03.03.2010 20:14 |