package inverse; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Inverse { /** * @param args * @throws IOException */ public static void main(String[] args) throws IOException { // TODO Auto-generated method stub int n,i,j; double[][] A; double s,t; String str=new String(); String esc=new String(); BufferedReader stdin=new BufferedReader(new InputStreamReader(System.in)); do { System.out.println("Odwracanie macierzy"); System.out.println(); System.out.print("Podaj rozmiar macierzy n="); str=stdin.readLine(); n=Integer.parseInt(str); A=new double[n+1][2*n+1]; for(i=1;i<=n;i++) { System.out.println("Wprowadź "+i+"-ty wiersz macierzy "); for(j=1;j<=n;j++){ str=stdin.readLine(); A[i][j]=Double.parseDouble(str); } } odwmac(A,n); for(i=1;i<=n;i++) { for(j=n+1;j<=2*n;j++) System.out.print(A[i][j]+" "); System.out.println(); } System.out.println(); System.out.println("Czy chcesz kontynuować"); esc=stdin.readLine(); } while(!esc.equals("Nie")); } public static void odwmac(double[][] A,int n){ int i,j,k,m; double s,t; for(i=1;i<=n;i++) for(j=n+1;j<=2*n;j++) if(i==j-n) A[i][j]=1; else A[i][j]=0; for(i=1;i<=n;i++) { s=A[i][i]; for(j=1;j<=2*n;j++) A[i][j]=A[i][j]/s; for(j=i+1;j<=n;j++) { t=A[j][i]; for(k=i;k<=2*n;k++) A[j][k]-=A[i][k]*t; } } for(k=n+1;k<=2*n;k++) { for(i=n;i>=1;i--) { s=A[i][k]; for(j=i+1;j<=n;j++) s-=A[i][j]*A[j][k]; A[i][k]=s; } } } }
Jak do tego kodu dopisać wybór elementu głównego