我有這樣的矩陣:矩陣相鄰元件組合
A B C
D E F
G H I
我想獲得相鄰細胞和對角線單元的所有可能的組合與一個lenght,例如:
從開始:
- *ABC* right right
- *ABE* right down
- *ABF* right diagonal-right
- *ABD* right diagonal-left
- ecc ecc
我試圖創建一個名爲「lettera」的新類,用字母作爲關鍵字,並用一個成員指示向右,向左,向下,向上ecc的指針。還有一個名爲「Sequenza」的成員,它是一個連接每個字母的字符串。
例如,如果有一個鍵,「B」,我有B->下== * E,B->左== * A,B->右== * C等等... 它的工作原理。然後我爲每個字母加上一個計數器:當它到達3時,它應該停止確定組合。
然後問題的核心:每個字母的路徑遵循...我試過創建一個遞歸函數,但它可以工作。
你能幫我看看這個或通過另一種方式暗示我嗎?
非常感謝。
代碼:
void decisione(lettera *c) {
if (c == nullptr) return ;
c->count++;
c->sequenza = c->sequenza + c->key;
if (c->count == 2)
cout << "\n" << c->sequenza;
//the sequence of letters accumulated in every call
decisione(c->Up);
decisione(c->Down);
}
它給我,例如AAA和BBB,然後崩潰=(
不會''B - > down''是''E''? – hinafu
是的,這是真的,謝謝。錯誤...編輯它 –
在調試器中運行以隔離並修復崩潰。 – djechlin