0
Метод Крамера - Java
Необходима помощь в написании java-программы, реализующей процесс решения системы трех линий уравнений с тремя неизвестными по методу Крамера. Блок-схема алгоритма содержится по ссылке: https://www.mathros.net.ua/rozvjazok-systemy-linijnyh-algebraichnyh-rivnjan-metodom-kramera.html Возможно, кто-то решал подобные задачи, прошу помочь. Или порекомендуйте литературу. Проблема возникает при формировании вспомогательных определителей.
1 Answer
0
import java.util.*;
public class Main
{
static double[] kramer(double a1, double b1, double c1,
double a2, double b2, double c2)
{
double res[] = new double[3]; // type, x, y
double d = a1 * b2 - a2 * b1;
double dx = c1 * b2 - c2 * b1;
double dy = a1 * c2 - a2 * c1;
if (d == 0)
{
if (dx == dy && dx == 0.0) res[0] = 2;
else res[0] = 1;
}
else
{
res[1] = dx / d;
res[2] = dy / d;
res[0] = 0;
}
return res;
}
public static void main(String []args)
{
Scanner con = new Scanner(System.in);
double a1 = con.nextDouble();
double b1 = con.nextDouble();
double c1 = con.nextDouble();
double a2 = con.nextDouble();
double b2 = con.nextDouble();
double c2 = con.nextDouble();
double res[] = kramer(a1,b1,c1,a2,b2,c2);
System.out.println(res[1] + "\n" + res[2]);
con.close();
}
}