/* PROBLEM: Write a program (with one class and that too having only the "main" method) to compute the inverse of a non-singular integer matrix of size 3X3. */ import javabook.*; import java.awt.*; class Inverse { public static void main(String[] arg) { int a00,a01,a02,a10,a11,a12,a20,a21,a22; int b00,b01,b02,b10,b11,b12,b20,b21,b22; MainWindow m_Window=new MainWindow(); InputBox input=new InputBox(m_Window,true); // Input the input matrix in row-major form a00=input.getInteger("Give an integer value for a[0][0]"); a01=input.getInteger("Give an integer value for a[0][1]"); a02=input.getInteger("Give an integer value for a[0][2]"); a10=input.getInteger("Give an integer value for a[1][0]"); a11=input.getInteger("Give an integer value for a[1][1]"); a12=input.getInteger("Give an integer value for a[1][2]"); a20=input.getInteger("Give an integer value for a[2][0]"); a21=input.getInteger("Give an integer value for a[2][1]"); a22=input.getInteger("Give an integer value for a[2][2]"); int A00,A01,A02,A10,A11,A12,A20,A21,A22; // calculate the cofactors A00=a11*a22-a21*a12; A01=a20*a12-a10*a22; A02=a10*a21-a20*a11; A10=a21*a02-a01*a22; A11=a00*a22-a20*a02; A12=a20*a01-a21*a00; A20=a01*a12-a11*a02; A21=a10*a02-a00*a12; A22=a00*a11-a10*a01; //Calculate the determinant int Det=a00*A00+a01*A01+a02*A02; double Inv00,Inv01,Inv02,Inv10,Inv11,Inv12,Inv20,Inv21,Inv22; // calculate the inverse Inv00=(double)A00/Det; Inv01=(double)A10/Det; Inv02=(double)A20/Det; Inv10=(double)A01/Det; Inv11=(double)A11/Det; Inv12=(double)A21/Det; Inv20=(double)A02/Det; Inv21=(double)A12/Det; Inv22=(double)A22/Det; OutputBox out=new OutputBox(m_Window); out.println("The Inverse matrix is ......"); out.print(Inv00+" "); out.print(Inv01+" "); out.println(Inv02); out.print(Inv10+" "); out.print(Inv11+" "); out.println(Inv12); out.print(Inv20+" "); out.print(Inv21+" "); out.println(Inv22); out.waitUntilClose(); } }