Re: [問題] 降階法

看板C_and_CPP (C/C++)作者 (累人啊....)時間16年前 (2009/10/16 21:19), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/5 (看更多)
※ 引述《tyc5116 (累人啊....)》之銘言: 不好意思,這個問題還是沒解決...@@ 附上我目前的進度 http://tinyurl.com/yjrabx4 用vector寫的,降階的部份大致都弄好了 只是在做運算的部份迴圈不知道怎麼設計 主要用遞迴的方式寫(實際上我也只想到這個方法...@@) 可是因為平常很少用遞迴寫程式,所以卡了這麼久 主要的程式在這部份 vector<vector<int> > Matrix::Reduce(vector<vector<int> > submatrix, int column,int& value){ vector<vector<int> > smallmatrix(submatrix.size()-1,vector<int>( submatrix.size()-1)); vector<vector<int> > tmpmatrix; vector<int> tmprow; static int sum=0; int r=1,c=0; int s=1; int col=0; int cons=0; int ans=0; int rr=0; //降階 for (int i=0;i<smallmatrix.size();++i){ for (int j=0;j<smallmatrix[0].size();++j){ if (j==column){++c;} smallmatrix[i][j]=submatrix[r][c++]; } c=0; ++r; } cout<<"降階後的陣列"<<endl; for (int j=0;j<smallmatrix.size();++j){ for (int k=0;k<smallmatrix[0].size();++k){ cout<<smallmatrix[j][k]<<" "; } cout<<endl; } if (smallmatrix.size()>1){ tmpmatrix=smallmatrix; tmprow.resize(smallmatrix.size()); tmprow[0]=smallmatrix[0][0]; tmprow[1]=smallmatrix[0][1]; for (int i=0;i<smallmatrix.size();++i){ tmpmatrix=Reduce(smallmatrix,i,value);//若階數>1便再降階 cons=tmprow[rr++]; sum+=cons*s*tmpmatrix[0][0]; s*=-1; } } return smallmatrix; 個人認為應該把這裡解決掉就好.....可是我想好久了....@@ 再麻煩大大們解答一下,謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.18.48.28
文章代碼(AID): #1As7B9WZ (C_and_CPP)
討論串 (同標題文章)
以下文章回應了本文
1
1
完整討論串 (本文為第 2 之 5 篇):
1
2
1
1
3
7
文章代碼(AID): #1As7B9WZ (C_and_CPP)