Форум программистов
 
Расширенный поиск
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Java > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail



Ответ
 
Опции темы
Старый 11.12.2017, 13:28   #1
aionpro
 
Регистрация: 29.11.2017
Сообщений: 7
Репутация: 10
По умолчанию матрица java

привет
как тут код объяснить подскажите пж

Код:

public double CalculateMatrix(double[][] matrix) {
        double calcResult = 0.0;
        if (matrix.length == 2) {
            calcResult = matrix[0][0] * matrix[1][1] - matrix[1][0] * matrix[0][1];
        } else {
            int koeff = 1;
            for (int i = 0; i < matrix.length; i++) {
                if (i % 2 == 1) {
                    koeff = -1;
                } else {
                    koeff = 1;
                };

                calcResult += koeff * matrix[0][i] * this.CalculateMatrix(this.GetMinor(matrix, 0, i));
            }
        }

        return calcResult;
    }

    private double[][] GetMinor(double[][] matrix, int row, int column) {
        int minorLength = matrix.length - 1;
        double[][] minor = new double[minorLength][minorLength];
        int dI = 0;
        int dJ = 0;
        for (int i = 0; i <= minorLength; i++) {
            dJ = 0;
            for (int j = 0; j <= minorLength; j++) {
                if (i == row) {
                    dI = 1;
                } else if (j == column) {
                    dJ = 1;
                } else {
                    minor[i - dI][j - dJ] = matrix[i][j];
                }
            }
        }

        return minor;

    }

    public static void main(String[] args) {

        Scanner sc2 = new Scanner(System.in);
        System.out.println("Введите размер матрицы :");
        int n = sc2.nextInt();

        double[][] A = new double[n][n];
        Random rnd = new Random();
        for (int i = 0; i < A.length; i++) {
            for (int j = 0; j < A[i].length; j++) {
                A[i][j] = rnd.nextInt(9) + 1;
            }
        }
        System.out.println("Матрица:");
        for (int i = 0; i < A.length; i++, System.out.println()) {
            for (int j = 0; j < A[i].length; j++) {
                System.out.print(A[i][j] + " ");
            }
        }

        JavaApplication43 mc = new JavaApplication43();
        double Result = mc.CalculateMatrix(A);
        System.out.println("Определитель:");
        System.out.println(Result);
    }

}

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор

Последний раз редактировалось Serge_Bliznykov; 11.12.2017 в 14:23.
aionpro вне форума   Ответить с цитированием
Ответ



Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Матрица. Задана матрица X[N,N], где N<=15. В каждом столбце матрицы поменять местами минимальный элемент и элемент главной диагона _Marchel_ Паскаль 5 28.11.2015 17:23
Непонятки с DirectX (матрица поворота, камера, матрица проекции) ROD Общие вопросы C/C++ 2 17.09.2010 17:00
Матрица умножение по диагоналей на Java языке N___G Помощь студентам 3 12.09.2010 18:56
TurboPascal: граф, матрица смежности и матрица инцидентности. ulala Помощь студентам 0 02.12.2009 11:11




12:10.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

купить трафик


как улучшить посещаемость, а также решения по монетизации сайтов, видео и приложений

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru