多平台统一管理软件接口,如何实现多平台统一管理软件接口
349
2023-03-28
java实现的n*n矩阵求值及求逆矩阵算法示例
本文实例讲述了java实现的n*n矩阵求值及求逆矩阵算法。分享给大家供大家参考,具体如下:
先来看看运行结果:
java版的写出来了,用的跟c语言相同的算法,然后看看能不能以后加个框做成程序:
import java.math.*;
import java.util.*;
import java.text.*;
public class matrix {
stahttp://tic int map1[][]=new int [110][110];
static int just[][]=new int [110][110];
public static void printf(int n,int map[][])
{
int i,j;
for(i=1;i<=n;i++ )
{
for(j=1;j System.out.print(map[i][j]+" "); System.out.println(map[i][j]); } } public static void get(int numi,int numj,int map[][],int n) { int i,j,k,l; for(i=0;i for(j=0;j just[i][j]=1; for(i=1;i<=n-1;i++)//求余子式矩阵 for(j=1;j<=n-1;j++) { if(i>=numi&&j just[i][j]=map[i+1][j]; else if(i>=numi&&j>=numj) just[i][j]=map[i+1][j+1]; else if(i just[i][j]=map[i][j+1]; else if(i just[i][j]=map[i][j]; } } //static int map[][]=new int [110]http://[110]; public static int getans(int nn) { int map[][]=new int [110][110]; for(int i=1;i<=nn;i++) for(int j=1;j<=nn;j++) map[i][j]=just[i][j]; if(nn==2) return map[1][1]*map[2][2]-map[1][2]*map[2][1]; else iflTtaFZNX(nn==1) return map[1][1]; else { int cnb=0; for(int i=1;i<=nn;i++) { get(1,i,map,nn);//得到当前余子式 just // printf("pay attention!\n"); //print(map,nn); //print(just,nn-1); if(i%2==1) cnb+=map[1][i]*getans(nn-1); else cnb-=map[1][i]*getans(nn-1); } return cnb; } } public static int gcd(int m,int n) { // if(m // matrix.gcd(n,m); // if(n==0) // return m; // // else // return matrix.gcd(n,m%n); int mm=m; int nn=n; if(mm { int c=mm; mm=nn; nn=c; } int w=1; while(w!=0) { w=mm%nn; mm=nn; nn=w; } return mm; } public static void ans(int n,int m) { if(n*m<0) { System.out.print("-"); ans(Math.abs(n),Math.abs(m)); return ; } if(m==1) System.out.print(n+"\t"); else if(n%m==0) System.out.print(n/m+"\t"); else System.out.print((n/matrix.gcd(m, n))+"/"+(m/matrix.gcd(m, n))+"\t"); } public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner cin=new Scanner(System.in); int i,j,k,l,m,p; while(true) { int n=cin.nextInt(); int ans=0; for(i=0;i for(j=0;j map1[i][j]=1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map1[i][j]=cin.nextInt(); just[i][j]=map1[i][j]; } int ans1=matrix.getans(n); System.out.println("矩阵的值为:"); System.out.println(ans1); int map2[][]=new int [110][110]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map2[i][j]=map1[j][i]; just[i][j]=map2[i][j]; } System.out.println("转置矩阵为:"); matrix.printf(n, map2); int help2=matrix.getans(n); System.out.println(help2); if(help2==0) { System.out.println("No inverse matrix"); lTtaFZNX continue; } System.out.println("逆矩阵为:"); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { matrix.get(i, j, map2, n); //boolean b=((i+j)%2==0); if((i+j)%2==0) matrix.ans(matrix.getans(n-1), help2); else matrix.ans(matrix.getans(n-1)*-1, help2); } System.out.println(); } System.out.println(); } } } 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》 希望本文所述对大家java程序设计有所帮助。
System.out.print(map[i][j]+" ");
System.out.println(map[i][j]);
}
}
public static void get(int numi,int numj,int map[][],int n)
{
int i,j,k,l;
for(i=0;i for(j=0;j just[i][j]=1; for(i=1;i<=n-1;i++)//求余子式矩阵 for(j=1;j<=n-1;j++) { if(i>=numi&&j just[i][j]=map[i+1][j]; else if(i>=numi&&j>=numj) just[i][j]=map[i+1][j+1]; else if(i just[i][j]=map[i][j+1]; else if(i just[i][j]=map[i][j]; } } //static int map[][]=new int [110]http://[110]; public static int getans(int nn) { int map[][]=new int [110][110]; for(int i=1;i<=nn;i++) for(int j=1;j<=nn;j++) map[i][j]=just[i][j]; if(nn==2) return map[1][1]*map[2][2]-map[1][2]*map[2][1]; else iflTtaFZNX(nn==1) return map[1][1]; else { int cnb=0; for(int i=1;i<=nn;i++) { get(1,i,map,nn);//得到当前余子式 just // printf("pay attention!\n"); //print(map,nn); //print(just,nn-1); if(i%2==1) cnb+=map[1][i]*getans(nn-1); else cnb-=map[1][i]*getans(nn-1); } return cnb; } } public static int gcd(int m,int n) { // if(m // matrix.gcd(n,m); // if(n==0) // return m; // // else // return matrix.gcd(n,m%n); int mm=m; int nn=n; if(mm { int c=mm; mm=nn; nn=c; } int w=1; while(w!=0) { w=mm%nn; mm=nn; nn=w; } return mm; } public static void ans(int n,int m) { if(n*m<0) { System.out.print("-"); ans(Math.abs(n),Math.abs(m)); return ; } if(m==1) System.out.print(n+"\t"); else if(n%m==0) System.out.print(n/m+"\t"); else System.out.print((n/matrix.gcd(m, n))+"/"+(m/matrix.gcd(m, n))+"\t"); } public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner cin=new Scanner(System.in); int i,j,k,l,m,p; while(true) { int n=cin.nextInt(); int ans=0; for(i=0;i for(j=0;j map1[i][j]=1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map1[i][j]=cin.nextInt(); just[i][j]=map1[i][j]; } int ans1=matrix.getans(n); System.out.println("矩阵的值为:"); System.out.println(ans1); int map2[][]=new int [110][110]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map2[i][j]=map1[j][i]; just[i][j]=map2[i][j]; } System.out.println("转置矩阵为:"); matrix.printf(n, map2); int help2=matrix.getans(n); System.out.println(help2); if(help2==0) { System.out.println("No inverse matrix"); lTtaFZNX continue; } System.out.println("逆矩阵为:"); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { matrix.get(i, j, map2, n); //boolean b=((i+j)%2==0); if((i+j)%2==0) matrix.ans(matrix.getans(n-1), help2); else matrix.ans(matrix.getans(n-1)*-1, help2); } System.out.println(); } System.out.println(); } } } 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》 希望本文所述对大家java程序设计有所帮助。
for(j=0;j just[i][j]=1; for(i=1;i<=n-1;i++)//求余子式矩阵 for(j=1;j<=n-1;j++) { if(i>=numi&&j just[i][j]=map[i+1][j]; else if(i>=numi&&j>=numj) just[i][j]=map[i+1][j+1]; else if(i just[i][j]=map[i][j+1]; else if(i just[i][j]=map[i][j]; } } //static int map[][]=new int [110]http://[110]; public static int getans(int nn) { int map[][]=new int [110][110]; for(int i=1;i<=nn;i++) for(int j=1;j<=nn;j++) map[i][j]=just[i][j]; if(nn==2) return map[1][1]*map[2][2]-map[1][2]*map[2][1]; else iflTtaFZNX(nn==1) return map[1][1]; else { int cnb=0; for(int i=1;i<=nn;i++) { get(1,i,map,nn);//得到当前余子式 just // printf("pay attention!\n"); //print(map,nn); //print(just,nn-1); if(i%2==1) cnb+=map[1][i]*getans(nn-1); else cnb-=map[1][i]*getans(nn-1); } return cnb; } } public static int gcd(int m,int n) { // if(m // matrix.gcd(n,m); // if(n==0) // return m; // // else // return matrix.gcd(n,m%n); int mm=m; int nn=n; if(mm { int c=mm; mm=nn; nn=c; } int w=1; while(w!=0) { w=mm%nn; mm=nn; nn=w; } return mm; } public static void ans(int n,int m) { if(n*m<0) { System.out.print("-"); ans(Math.abs(n),Math.abs(m)); return ; } if(m==1) System.out.print(n+"\t"); else if(n%m==0) System.out.print(n/m+"\t"); else System.out.print((n/matrix.gcd(m, n))+"/"+(m/matrix.gcd(m, n))+"\t"); } public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner cin=new Scanner(System.in); int i,j,k,l,m,p; while(true) { int n=cin.nextInt(); int ans=0; for(i=0;i for(j=0;j map1[i][j]=1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map1[i][j]=cin.nextInt(); just[i][j]=map1[i][j]; } int ans1=matrix.getans(n); System.out.println("矩阵的值为:"); System.out.println(ans1); int map2[][]=new int [110][110]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map2[i][j]=map1[j][i]; just[i][j]=map2[i][j]; } System.out.println("转置矩阵为:"); matrix.printf(n, map2); int help2=matrix.getans(n); System.out.println(help2); if(help2==0) { System.out.println("No inverse matrix"); lTtaFZNX continue; } System.out.println("逆矩阵为:"); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { matrix.get(i, j, map2, n); //boolean b=((i+j)%2==0); if((i+j)%2==0) matrix.ans(matrix.getans(n-1), help2); else matrix.ans(matrix.getans(n-1)*-1, help2); } System.out.println(); } System.out.println(); } } } 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》 希望本文所述对大家java程序设计有所帮助。
just[i][j]=1;
for(i=1;i<=n-1;i++)//求余子式矩阵
for(j=1;j<=n-1;j++)
{
if(i>=numi&&j just[i][j]=map[i+1][j]; else if(i>=numi&&j>=numj) just[i][j]=map[i+1][j+1]; else if(i just[i][j]=map[i][j+1]; else if(i just[i][j]=map[i][j]; } } //static int map[][]=new int [110]http://[110]; public static int getans(int nn) { int map[][]=new int [110][110]; for(int i=1;i<=nn;i++) for(int j=1;j<=nn;j++) map[i][j]=just[i][j]; if(nn==2) return map[1][1]*map[2][2]-map[1][2]*map[2][1]; else iflTtaFZNX(nn==1) return map[1][1]; else { int cnb=0; for(int i=1;i<=nn;i++) { get(1,i,map,nn);//得到当前余子式 just // printf("pay attention!\n"); //print(map,nn); //print(just,nn-1); if(i%2==1) cnb+=map[1][i]*getans(nn-1); else cnb-=map[1][i]*getans(nn-1); } return cnb; } } public static int gcd(int m,int n) { // if(m // matrix.gcd(n,m); // if(n==0) // return m; // // else // return matrix.gcd(n,m%n); int mm=m; int nn=n; if(mm { int c=mm; mm=nn; nn=c; } int w=1; while(w!=0) { w=mm%nn; mm=nn; nn=w; } return mm; } public static void ans(int n,int m) { if(n*m<0) { System.out.print("-"); ans(Math.abs(n),Math.abs(m)); return ; } if(m==1) System.out.print(n+"\t"); else if(n%m==0) System.out.print(n/m+"\t"); else System.out.print((n/matrix.gcd(m, n))+"/"+(m/matrix.gcd(m, n))+"\t"); } public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner cin=new Scanner(System.in); int i,j,k,l,m,p; while(true) { int n=cin.nextInt(); int ans=0; for(i=0;i for(j=0;j map1[i][j]=1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map1[i][j]=cin.nextInt(); just[i][j]=map1[i][j]; } int ans1=matrix.getans(n); System.out.println("矩阵的值为:"); System.out.println(ans1); int map2[][]=new int [110][110]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map2[i][j]=map1[j][i]; just[i][j]=map2[i][j]; } System.out.println("转置矩阵为:"); matrix.printf(n, map2); int help2=matrix.getans(n); System.out.println(help2); if(help2==0) { System.out.println("No inverse matrix"); lTtaFZNX continue; } System.out.println("逆矩阵为:"); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { matrix.get(i, j, map2, n); //boolean b=((i+j)%2==0); if((i+j)%2==0) matrix.ans(matrix.getans(n-1), help2); else matrix.ans(matrix.getans(n-1)*-1, help2); } System.out.println(); } System.out.println(); } } } 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》 希望本文所述对大家java程序设计有所帮助。
just[i][j]=map[i+1][j];
else if(i>=numi&&j>=numj)
just[i][j]=map[i+1][j+1];
else if(i
just[i][j]=map[i][j+1];
else if(i just[i][j]=map[i][j]; } } //static int map[][]=new int [110]http://[110]; public static int getans(int nn) { int map[][]=new int [110][110]; for(int i=1;i<=nn;i++) for(int j=1;j<=nn;j++) map[i][j]=just[i][j]; if(nn==2) return map[1][1]*map[2][2]-map[1][2]*map[2][1]; else iflTtaFZNX(nn==1) return map[1][1]; else { int cnb=0; for(int i=1;i<=nn;i++) { get(1,i,map,nn);//得到当前余子式 just // printf("pay attention!\n"); //print(map,nn); //print(just,nn-1); if(i%2==1) cnb+=map[1][i]*getans(nn-1); else cnb-=map[1][i]*getans(nn-1); } return cnb; } } public static int gcd(int m,int n) { // if(m // matrix.gcd(n,m); // if(n==0) // return m; // // else // return matrix.gcd(n,m%n); int mm=m; int nn=n; if(mm { int c=mm; mm=nn; nn=c; } int w=1; while(w!=0) { w=mm%nn; mm=nn; nn=w; } return mm; } public static void ans(int n,int m) { if(n*m<0) { System.out.print("-"); ans(Math.abs(n),Math.abs(m)); return ; } if(m==1) System.out.print(n+"\t"); else if(n%m==0) System.out.print(n/m+"\t"); else System.out.print((n/matrix.gcd(m, n))+"/"+(m/matrix.gcd(m, n))+"\t"); } public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner cin=new Scanner(System.in); int i,j,k,l,m,p; while(true) { int n=cin.nextInt(); int ans=0; for(i=0;i for(j=0;j map1[i][j]=1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map1[i][j]=cin.nextInt(); just[i][j]=map1[i][j]; } int ans1=matrix.getans(n); System.out.println("矩阵的值为:"); System.out.println(ans1); int map2[][]=new int [110][110]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map2[i][j]=map1[j][i]; just[i][j]=map2[i][j]; } System.out.println("转置矩阵为:"); matrix.printf(n, map2); int help2=matrix.getans(n); System.out.println(help2); if(help2==0) { System.out.println("No inverse matrix"); lTtaFZNX continue; } System.out.println("逆矩阵为:"); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { matrix.get(i, j, map2, n); //boolean b=((i+j)%2==0); if((i+j)%2==0) matrix.ans(matrix.getans(n-1), help2); else matrix.ans(matrix.getans(n-1)*-1, help2); } System.out.println(); } System.out.println(); } } } 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》 希望本文所述对大家java程序设计有所帮助。
just[i][j]=map[i][j];
}
}
//static int map[][]=new int [110]http://[110];
public static int getans(int nn)
{
int map[][]=new int [110][110];
for(int i=1;i<=nn;i++)
for(int j=1;j<=nn;j++)
map[i][j]=just[i][j];
if(nn==2)
return map[1][1]*map[2][2]-map[1][2]*map[2][1];
else iflTtaFZNX(nn==1)
return map[1][1];
else
{
int cnb=0;
for(int i=1;i<=nn;i++)
{
get(1,i,map,nn);//得到当前余子式 just
// printf("pay attention!\n");
//print(map,nn);
//print(just,nn-1);
if(i%2==1)
cnb+=map[1][i]*getans(nn-1);
else
cnb-=map[1][i]*getans(nn-1);
}
return cnb;
}
}
public static int gcd(int m,int n)
{
// if(m // matrix.gcd(n,m); // if(n==0) // return m; // // else // return matrix.gcd(n,m%n); int mm=m; int nn=n; if(mm { int c=mm; mm=nn; nn=c; } int w=1; while(w!=0) { w=mm%nn; mm=nn; nn=w; } return mm; } public static void ans(int n,int m) { if(n*m<0) { System.out.print("-"); ans(Math.abs(n),Math.abs(m)); return ; } if(m==1) System.out.print(n+"\t"); else if(n%m==0) System.out.print(n/m+"\t"); else System.out.print((n/matrix.gcd(m, n))+"/"+(m/matrix.gcd(m, n))+"\t"); } public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner cin=new Scanner(System.in); int i,j,k,l,m,p; while(true) { int n=cin.nextInt(); int ans=0; for(i=0;i for(j=0;j map1[i][j]=1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map1[i][j]=cin.nextInt(); just[i][j]=map1[i][j]; } int ans1=matrix.getans(n); System.out.println("矩阵的值为:"); System.out.println(ans1); int map2[][]=new int [110][110]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map2[i][j]=map1[j][i]; just[i][j]=map2[i][j]; } System.out.println("转置矩阵为:"); matrix.printf(n, map2); int help2=matrix.getans(n); System.out.println(help2); if(help2==0) { System.out.println("No inverse matrix"); lTtaFZNX continue; } System.out.println("逆矩阵为:"); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { matrix.get(i, j, map2, n); //boolean b=((i+j)%2==0); if((i+j)%2==0) matrix.ans(matrix.getans(n-1), help2); else matrix.ans(matrix.getans(n-1)*-1, help2); } System.out.println(); } System.out.println(); } } } 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》 希望本文所述对大家java程序设计有所帮助。
// matrix.gcd(n,m);
// if(n==0)
// return m;
//
// else
// return matrix.gcd(n,m%n);
int mm=m;
int nn=n;
if(mm { int c=mm; mm=nn; nn=c; } int w=1; while(w!=0) { w=mm%nn; mm=nn; nn=w; } return mm; } public static void ans(int n,int m) { if(n*m<0) { System.out.print("-"); ans(Math.abs(n),Math.abs(m)); return ; } if(m==1) System.out.print(n+"\t"); else if(n%m==0) System.out.print(n/m+"\t"); else System.out.print((n/matrix.gcd(m, n))+"/"+(m/matrix.gcd(m, n))+"\t"); } public static void main(String[] args) { // TODO 自动生成的方法存根 Scanner cin=new Scanner(System.in); int i,j,k,l,m,p; while(true) { int n=cin.nextInt(); int ans=0; for(i=0;i for(j=0;j map1[i][j]=1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map1[i][j]=cin.nextInt(); just[i][j]=map1[i][j]; } int ans1=matrix.getans(n); System.out.println("矩阵的值为:"); System.out.println(ans1); int map2[][]=new int [110][110]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map2[i][j]=map1[j][i]; just[i][j]=map2[i][j]; } System.out.println("转置矩阵为:"); matrix.printf(n, map2); int help2=matrix.getans(n); System.out.println(help2); if(help2==0) { System.out.println("No inverse matrix"); lTtaFZNX continue; } System.out.println("逆矩阵为:"); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { matrix.get(i, j, map2, n); //boolean b=((i+j)%2==0); if((i+j)%2==0) matrix.ans(matrix.getans(n-1), help2); else matrix.ans(matrix.getans(n-1)*-1, help2); } System.out.println(); } System.out.println(); } } } 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》 希望本文所述对大家java程序设计有所帮助。
{
int c=mm;
mm=nn;
nn=c;
}
int w=1;
while(w!=0)
{
w=mm%nn;
mm=nn;
nn=w;
}
return mm;
}
public static void ans(int n,int m)
{
if(n*m<0)
{
System.out.print("-");
ans(Math.abs(n),Math.abs(m));
return ;
}
if(m==1)
System.out.print(n+"\t");
else if(n%m==0)
System.out.print(n/m+"\t");
else
System.out.print((n/matrix.gcd(m, n))+"/"+(m/matrix.gcd(m, n))+"\t");
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Scanner cin=new Scanner(System.in);
int i,j,k,l,m,p;
while(true)
{
int n=cin.nextInt();
int ans=0;
for(i=0;i for(j=0;j map1[i][j]=1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map1[i][j]=cin.nextInt(); just[i][j]=map1[i][j]; } int ans1=matrix.getans(n); System.out.println("矩阵的值为:"); System.out.println(ans1); int map2[][]=new int [110][110]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map2[i][j]=map1[j][i]; just[i][j]=map2[i][j]; } System.out.println("转置矩阵为:"); matrix.printf(n, map2); int help2=matrix.getans(n); System.out.println(help2); if(help2==0) { System.out.println("No inverse matrix"); lTtaFZNX continue; } System.out.println("逆矩阵为:"); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { matrix.get(i, j, map2, n); //boolean b=((i+j)%2==0); if((i+j)%2==0) matrix.ans(matrix.getans(n-1), help2); else matrix.ans(matrix.getans(n-1)*-1, help2); } System.out.println(); } System.out.println(); } } } 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》 希望本文所述对大家java程序设计有所帮助。
for(j=0;j map1[i][j]=1; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map1[i][j]=cin.nextInt(); just[i][j]=map1[i][j]; } int ans1=matrix.getans(n); System.out.println("矩阵的值为:"); System.out.println(ans1); int map2[][]=new int [110][110]; for(i=1;i<=n;i++) for(j=1;j<=n;j++) { map2[i][j]=map1[j][i]; just[i][j]=map2[i][j]; } System.out.println("转置矩阵为:"); matrix.printf(n, map2); int help2=matrix.getans(n); System.out.println(help2); if(help2==0) { System.out.println("No inverse matrix"); lTtaFZNX continue; } System.out.println("逆矩阵为:"); for(i=1;i<=n;i++) { for(j=1;j<=n;j++) { matrix.get(i, j, map2, n); //boolean b=((i+j)%2==0); if((i+j)%2==0) matrix.ans(matrix.getans(n-1), help2); else matrix.ans(matrix.getans(n-1)*-1, help2); } System.out.println(); } System.out.println(); } } } 更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》 希望本文所述对大家java程序设计有所帮助。
map1[i][j]=1;
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
map1[i][j]=cin.nextInt();
just[i][j]=map1[i][j];
}
int ans1=matrix.getans(n);
System.out.println("矩阵的值为:");
System.out.println(ans1);
int map2[][]=new int [110][110];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
map2[i][j]=map1[j][i];
just[i][j]=map2[i][j];
}
System.out.println("转置矩阵为:");
matrix.printf(n, map2);
int help2=matrix.getans(n);
System.out.println(help2);
if(help2==0)
{
System.out.println("No inverse matrix");
lTtaFZNX continue;
}
System.out.println("逆矩阵为:");
for(i=1;i<=n;i++)
{
for(j=1;j<=n;j++)
{
matrix.get(i, j, map2, n);
//boolean b=((i+j)%2==0);
if((i+j)%2==0)
matrix.ans(matrix.getans(n-1), help2);
else
matrix.ans(matrix.getans(n-1)*-1, help2);
}
System.out.println();
}
System.out.println();
}
}
}
更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》
希望本文所述对大家java程序设计有所帮助。
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~