Discussion:
[問題] 發現矩陣轉置失敗
(时间太久无法回复)
ldg
2007-03-31 16:05:03 UTC
Permalink
我想做一個小練習

就是讓矩陣轉置

1 2 3 1 4 7
4 5 6 => 2 5 8
7 8 9 3 6 9

所以我寫了這個程式

public class transit{
static void printMatrix(int[][] M){
int i,j;
for(i=0;i<3;i++){
for(j=0;j<3;j++)
System.out.print(M[i][j]+" ");
System.out.println("");
}
}
public static void main(String[] args){
int[][] Matrix=new int[3][3];
int i,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
Matrix[i][j]=3*i+j+1;
printMatrix(Matrix);
System.out.println("");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(i!=j){
int temp=Matrix[i][j];
Matrix[i][j]=Matrix[j][i];
Matrix[j][i]=temp;
}
printMatrix(Matrix);
}
}

但是結果如下

1 2 3
4 5 6
7 8 9

1 2 3
4 5 6
7 8 9


請問是紅色那個交換區出了問題嗎?

還有因為只是小練習

所以不太OO

如果傷到各位的眼睛

先說聲抱歉 <(_ _)>

--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.192.211.93
愚人
2007-03-31 16:36:40 UTC
Permalink
※ 引述《ldg (ldg)》之銘言:
: if(i!=j){
: int temp=Matrix[i][j];
: Matrix[i][j]=Matrix[j][i];
: Matrix[j][i]=temp;
: }

// 轉到我頭都暈了

if(i!=j && i <= j) ....


--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.161.127.212

Loading...