-
지뢰찾기 (中 폭탄 수 세기)코딩/C언어 2019. 3. 18. 18:38반응형1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#include <stdio.h>#include <stdlib.h>#include <time.h>#define X_VALUE 5#define Y_VALUE 5void readBombInfo(char grid[][Y_VALUE + 1]){int i;printf("input Grid\n");for (i = 0; i < X_VALUE; i++)scanf("%s", grid[i]);}void countBomb(char grid[][Y_VALUE + 1], int numOfBombs[][Y_VALUE]){int i, j, n, k;for (i = 0; i < X_VALUE; i++)for (j = 0; j < Y_VALUE;j++)if (grid[i][j] == '*'){for (n = i - 1; n <= i + 1; n++){if (n < 0 || n >= X_VALUE)continue;for (k = j - 1; k <= j + 1; k++){if (k < 0 || k >= Y_VALUE)continue;numOfBombs[n][k]++;}}}}void display_numOfBombs(char grid[][Y_VALUE + 1], int numOfBombs[][Y_VALUE]){int i, j;printf("\n--------------------------------\n");for (i = 0; i < X_VALUE; i++){for (j = 0; j < Y_VALUE; j++)if (grid[i][j] == '*')printf("*");elseprintf("%d", numOfBombs[i][j]);printf("\n");}}int main(void){char grid[X_VALUE][Y_VALUE + 1];int numOfBombs[X_VALUE][Y_VALUE] = { 0 };readBombInfo(grid);countBomb(grid, numOfBombs);display_numOfBombs(grid, numOfBombs);}
cs * = 폭탄
# = 아무것도 없는 곳
결과:
반응형'코딩 > C언어' 카테고리의 다른 글
조합 계산 (재귀함수) (1) 2019.03.18 제곱 구하기 (재귀함수) (0) 2019.03.18 합집합 && 교집합 && 차집합 (0) 2018.09.27 값 탐색 && 가장 큰 수 && 총 합 (0) 2018.09.27 좌석 예약 (0) 2018.09.27