본문 바로가기

Studying/Computer Programs

sudoku (스도쿠) 퍼즐 푸는 프로그램 (C++)

 

예전에 포스팅했던

 

 

sudoku 퍼즐 푸는 프로그램 (C언어)

아이패드 앱(의 부가기능) 중에 스도쿠(sudoku) 퍼즐이 있길래 좀 해보다가, 이걸 푸는 프로그램을 C언어로 작성하는 잉여짓을 하게 되었습니다. 기본원리는 그냥 게임의 룰을 반영하여, 모든 빈칸

swstar.tistory.com

 

에 이어서, C++ 로 재구성한 코드입니다. 입출력 파일의 형식은 예전 포스팅과 동일하게 9행 9열의 텍스트 파일입니다.

 

main.cpp
다운로드

 

SudokuSolve.h
다운로드

 

SudokuSolve.cpp
다운로드

 

SudokuSolve라는 클래스를 도입하였으며, 이 클래스는 파일로부터 스도쿠 퍼즐 문제를 읽어들이고 퍼즐을 푸는 등의 멤버 함수들을 가지고 있습니다. main 함수에서는 객체를 선언하고 이 멤버 함수들을 실행하기만 하면 되는거죠.

퍼즐의 답을 출력하는 멤버 함수도 있는데요. 출력 파일의 포인터를 매개변수로 받고 있으며, 위에 첨부된 main 함수의 경우처럼 화면에 출력하기 위해서는 stdout (standard output) 또는 stderr (standard error) 포인터를 사용하면 됩니다. 물론 별도의 텍스트 파일을 열고 그 포인터를 넘겨주면 파일에 답이 기록되겠죠.

 


 

이 포스팅의 main 함수는 argc 및 argv 라는 인자를 받고 있으며, 이들은 입력파일의 이름을 지정하기 위해 사용되고 있는데요. 이들 명령행 인자에 대한 자세한 내용은 다음 포스팅에 소개되어 있습니다.

 

 

Command-line arguments (C/C++ 명령행 인자)

C++를 배우기 위해 책을 보는데, command-line arguments 즉 명령행 인자에 대한 내용이 있었습니다. 메인함수를 특별한 방법으로 정의해서, 프로그램을 실행시킬때 커맨드 라인에서 옵션을 지정해줄

swstar.tistory.com