私のタイトルは少し混乱していますが、異なる名前の 81 個の配列の値を変更するループを記述しようとしています。値または値の配列で配列を開始したい。うまく説明できていないと思うので、これは私の数独ソルバー コードの一部です。
int cell1[], cell2[9], cell3[9],cell4[9]......cell81[9]; // <-- this will make 81 cells with an array that can hold a possible of 9 candidates
cout << "User input: << endl; // lets use ...1.5...14....67..8...24...63.7..1.9.......3.1..9.52...72...8..26....35...4.9...
// as an example
その入力を Char 配列に格納し、ループを使用して、指定された値または '.' を開始するかどうかを決定するとします。空の値として。
空の値については、配列を 1 ~ 9 の値で初期化しようとしています。このコードでこれを簡単に行うことができます。
If( ( (int)charArray[ 0 ] - 48) > 0 ) { // type cast to int. Neg = initialize array with 1-9
// pos = initialize with original value
cell1[ 0 ] = (int)charArray[ 0 ] - 48;
} else {
cell1[ 9 ] = { 1,2,3,4,5,6,7,8,9};
}
このコードを 81 個のセルに対して 81 回書くことは避けたい (ジャンク コードを書くと見なされる)。ループの書き方がわかりません。クラス、関数などを使用して、これをさまざまにコーディングする方法についての提案をお待ちしています。よろしくお願いします。