當前位置:編程學習大全網 - 編程軟體 - java編程的矩陣變換問題

java編程的矩陣變換問題

/*我的想法是,先把二維矩陣轉換成壹維矩陣,這個循環壹下就可以了,然後把輸入的二維位置也轉換成壹維的位置,依此往前替換,補0,然後把這個壹維矩陣再轉換成二維矩陣**/

public static void main(String[] args) {

int[][] erwei = new int[][]{{1,10,3},{4,55,6},{73,8,9}};

int[] yiwei = toyiwei(erwei);

int x=1,y=2,num=0;

//要移動的元素在壹維矩陣上的位置

num = (y-1)*erwei.length+(x-1);

//替換

for(int i=num;i<yiwei.length-1;i++){

yiwei[i] = yiwei[i+1];

}

//補0

yiwei[yiwei.length-1]=0;

//轉換為二維矩陣

erwei = toerwei(yiwei,erwei.length,erwei[0].length);

//打印

for(int i=0;i<erwei.length;i++){

for(int j=0;j<erwei[i].length;j++){

System.out.print(erwei[i][j]+" ");

}

System.out.println();

}

}

//二維矩陣轉換成壹維矩陣

static int[] toyiwei(int[][] erwei)

{

int[] rs = new int[erwei.length*erwei[0].length];

for(int i=0;i<erwei.length;i++){

for(int j=0;j<erwei[i].length;j++){

rs[i*erwei.length+j] = erwei[i][j];

}

}

return rs;

}

//壹維矩陣轉換成二維矩陣

static int[][] toerwei(int[] yiwei,int a,int b)

{

int[][] erwei = new int[a][b];

for(int i=0;i<a;i++){

for(int j=0;j<b;j++){

erwei[i][j]=yiwei[i*a+j];

}

}

return erwei;

}

  • 上一篇:少兒編程是什麽?
  • 下一篇:數控編程中,常用的G指令有哪些?
  • copyright 2024編程學習大全網