// SudokuSolver.cpp : This file contains the 'main' function. Program execution begins and ends there. // #include #include "SudokuFieldProvider.h" int main() { std::cout << "Hello World!\n"; SudokuFieldProvider provider = SudokuFieldProvider(); string name = "Test"; solve(&provider.GetField(name)); } void printTable(SudokuField* field) { for (int x = 0; x < sizeof(field->field); x++) { string line = ""; for (int y = 0; y < sizeof(field->field); y++) { int num = field->field[x][y]; line += " " + std::to_string(num); } cout << line; } } void solve(SudokuField* field) { for (int x = 0; x < sizeof(field->field); x++) { for (int y = 0; y < sizeof(field->field); y++) { for (int i = 0; i < sizeof(field->field); i++) { if (canPlace(field, x, y, i)) { field->field[x][y] = i; printTable(field); break; } } } } } bool canPlace(SudokuField* field, int x, int y, int num) { for (int iX = 0; iX < sizeof(field->field); iX++) { if (field->field[iX][y] == num) return false; } for (int iY = 0; iY < sizeof(field->field); iY++) { if (field->field[x][iY] == num) return false; } return true; } // Run program: Ctrl + F5 or Debug > Start Without Debugging menu // Debug program: F5 or Debug > Start Debugging menu // Tips for Getting Started: // 1. Use the Solution Explorer window to add/manage files // 2. Use the Team Explorer window to connect to source control // 3. Use the Output window to see build output and other messages // 4. Use the Error List window to view errors // 5. Go to Project > Add New Item to create new code files, or Project > Add Existing Item to add existing code files to the project // 6. In the future, to open this project again, go to File > Open > Project and select the .sln file