: void gaussh(double matrix[3][4])
: {
: for (int i=0; i<3; ++i)
: {
: if (matrix[i][i]==0)
: for (int j=i+1;j<4;j++)
: {
: if(matrix[j][i]!=0)
: for(int m=i;m<3;m++)
: swap(matrix[i][m],matrix[j][m]);
: }
: double t;
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
: for (int k=i; k<3; ++k)
: {
: t=matrix[k+1][k]/matrix[k][k] ;
: for (int j=i+1; j<4; ++j)
: {
: matrix[j][k] -= matrix[i][k] * t;
: }
: }
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
有問題的地方在這
照你這樣寫跑出的結果會變這樣
http://i.imgur.com/sNy6qhY.png
最後求得的結果當然是錯的
你需要檢查一下該怎麼給i j k的值
: }
: 補充說明(Supplement):
: 我照著書上及網路的程式碼打 還是錯
: 我從晚上看到天亮(真的...)還是不知道哪裡錯
: 初學程式語言,還請各位多包涵
: 請大大幫我解惑!