Include dependency graph for sudoku_solver.cpp:</div>
<divclass="dyncontent">
<divclass="center"><iframescrolling="no"frameborder="0"src="../../da/dfd/sudoku__solver_8cpp__incl.svg"width="162"height="127"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<trclass="memdesc:d8/d9f/namespacesudoku__solver"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Functions for the <ahref="https://en.wikipedia.org/wiki/Sudoku"target="_blank">Sudoku Solver</a> implementation. <br/></td></tr>
<trclass="memitem:a07dc6acffd0500de9bdbf16b3ade94b0"><tdclass="memTemplItemLeft"align="right"valign="top">bool </td><tdclass="memTemplItemRight"valign="bottom"><aclass="el"href="../../d3/d05/sudoku__solver_8cpp.html#a07dc6acffd0500de9bdbf16b3ade94b0">backtracking::sudoku_solver::isPossible</a> (const <aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a><<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V >&mat, int i, int j, int no, int n)</td></tr>
<trclass="memdesc:a07dc6acffd0500de9bdbf16b3ade94b0"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Check if it's possible to place a number (<code>no</code> parameter) <ahref="../../d3/d05/sudoku__solver_8cpp.html#a07dc6acffd0500de9bdbf16b3ade94b0">More...</a><br/></td></tr>
<trclass="memitem:ab040a12d7684cd85fb3684f4211ea5ac"><tdclass="memTemplItemLeft"align="right"valign="top">void </td><tdclass="memTemplItemRight"valign="bottom"><aclass="el"href="../../d3/d05/sudoku__solver_8cpp.html#ab040a12d7684cd85fb3684f4211ea5ac">backtracking::sudoku_solver::printMat</a> (const <aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a><<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V >&mat, const <aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a><<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V >&starting_mat, int n)</td></tr>
<trclass="memdesc:ab040a12d7684cd85fb3684f4211ea5ac"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Utility function to print the matrix. <ahref="../../d3/d05/sudoku__solver_8cpp.html#ab040a12d7684cd85fb3684f4211ea5ac">More...</a><br/></td></tr>
<trclass="memitem:ac911c8bca8556206ff64461b2424866b"><tdclass="memTemplItemLeft"align="right"valign="top">bool </td><tdclass="memTemplItemRight"valign="bottom"><aclass="el"href="../../d3/d05/sudoku__solver_8cpp.html#ac911c8bca8556206ff64461b2424866b">backtracking::sudoku_solver::solveSudoku</a> (<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a><<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V >&mat, const <aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a><<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V >&starting_mat, int i, int j)</td></tr>
<trclass="memdesc:ac911c8bca8556206ff64461b2424866b"><tdclass="mdescLeft"> </td><tdclass="mdescRight">Main function to implement the Sudoku algorithm. <ahref="../../d3/d05/sudoku__solver_8cpp.html#ac911c8bca8556206ff64461b2424866b">More...</a><br/></td></tr>
<p>Sudoku (数独, sūdoku, digit-single) (/suːˈdoʊkuː/, /-ˈdɒk-/, /sə-/, originally called Number Place) is a logic-based, combinatorial number-placement puzzle. In classic sudoku, the objective is to fill a 9×9 grid with digits so that each column, each row, and each of the nine 3×3 subgrids that compose the grid (also called "boxes", "blocks", or "regions") contain all of the digits from 1 to 9. The puzzle setter provides a partially completed grid, which for a well-posed puzzle has a single solution.</p>
<tdclass="paramtype">const <aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a><<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V >& </td>
<tdclass="paramname"><em>mat</em>, </td>
</tr>
<tr>
<tdclass="paramkey"></td>
<td></td>
<tdclass="paramtype">int </td>
<tdclass="paramname"><em>i</em>, </td>
</tr>
<tr>
<tdclass="paramkey"></td>
<td></td>
<tdclass="paramtype">int </td>
<tdclass="paramname"><em>j</em>, </td>
</tr>
<tr>
<tdclass="paramkey"></td>
<td></td>
<tdclass="paramtype">int </td>
<tdclass="paramname"><em>no</em>, </td>
</tr>
<tr>
<tdclass="paramkey"></td>
<td></td>
<tdclass="paramtype">int </td>
<tdclass="paramname"><em>n</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><divclass="memdoc">
<p>Check if it's possible to place a number (<code>no</code> parameter) </p>
<divclass="line"><spanclass="lineno"> 57</span><spanclass="keywordflow">for</span> (<spanclass="keywordtype">int</span> x = sx; x < sx + 3; x++) {</div>
<divclass="line"><spanclass="lineno"> 58</span><spanclass="keywordflow">for</span> (<spanclass="keywordtype">int</span> y = sy; y < sy + 3; y++) {</div>
<divclass="center"><iframescrolling="no"frameborder="0"src="../../d3/d05/sudoku__solver_8cpp_a07dc6acffd0500de9bdbf16b3ade94b0_cgraph.svg"width="158"height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<divclass="center"><iframescrolling="no"frameborder="0"src="../../d3/d05/sudoku__solver_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg"width="182"height="38"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<tdclass="paramtype">const <aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a><<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V >& </td>
<tdclass="paramname"><em>mat</em>, </td>
</tr>
<tr>
<tdclass="paramkey"></td>
<td></td>
<tdclass="paramtype">const <aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a><<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V >& </td>
<divclass="center"><iframescrolling="no"frameborder="0"src="../../d3/d05/sudoku__solver_8cpp_ab040a12d7684cd85fb3684f4211ea5ac_cgraph.svg"width="278"height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
<tdclass="paramtype"><aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a><<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V >& </td>
<tdclass="paramname"><em>mat</em>, </td>
</tr>
<tr>
<tdclass="paramkey"></td>
<td></td>
<tdclass="paramtype">const <aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a><<aclass="elRef"target="_blank"href="http://en.cppreference.com/w/cpp/container/array.html">std::array</a>< int, V >, V >& </td>
<tdclass="paramname"><em>starting_mat</em>, </td>
</tr>
<tr>
<tdclass="paramkey"></td>
<td></td>
<tdclass="paramtype">int </td>
<tdclass="paramname"><em>i</em>, </td>
</tr>
<tr>
<tdclass="paramkey"></td>
<td></td>
<tdclass="paramtype">int </td>
<tdclass="paramname"><em>j</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><divclass="memdoc">
<p>Main function to implement the Sudoku algorithm. </p>
<divclass="line"><spanclass="lineno"> 129</span><spanclass="comment"> /// White Cell</span></div>
<divclass="line"><spanclass="lineno"> 130</span><spanclass="comment"> /// Try to place every possible no</span></div>
<divclass="line"><spanclass="lineno"> 131</span><spanclass="comment"></span><spanclass="keywordflow">for</span> (<spanclass="keywordtype">int</span> no = 1; no <= 9; no++) {</div>
<divclass="line"><spanclass="lineno"> 132</span><spanclass="keywordflow">if</span> (isPossible<V>(mat, i, j, no, 9)) {<spanclass="comment"></span></div>
<divclass="line"><spanclass="lineno"> 133</span><spanclass="comment"> /// Place the 'no' - assuming a solution will exist</span></div>
<divclass="center"><iframescrolling="no"frameborder="0"src="../../d3/d05/sudoku__solver_8cpp_ac911c8bca8556206ff64461b2424866b_cgraph.svg"width="158"height="76"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<divid="nav-path"class="navpath"><!-- id is needed for treeview function! -->
<liclass="footer">Generated by <ahref="https://www.doxygen.org/index.html"><imgclass="footer"src="../../doxygen.svg"width="104"height="31"alt="doxygen"/></a> 1.9.4 </li>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.