UNIT 38.8_Test2

Run Settings
LanguageC
Language Version
Run Command
#include<stdio.h> #include<stdlib.h> #include <string.h> int main() { int m, n; scanf("%d %d", &m, &n);//세로 가로 입력. char **matrix = malloc(sizeof(char*)*m); for (int i = 0; i < m; i++) { matrix[i] = malloc(sizeof(char) * (n + 1)); // 행렬의 가로값 포인터 할당 문자열 null문자때문. memset(matrix[i], 0, sizeof(char) * (n + 1)); // 행렬값 초기화 } for (int i = 0; i < m; i++) { for (int j = 0; j < m; j++) { scanf("%s", matrix[i], sizeof(char)); // '@'지뢰, '0'지뢰없음 입력 } } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (matrix[i][j] == '0')//지뢰아니면 넘어가자. { continue; } else if (matrix[i][j] == '@')//지뢰면 탐색. { for (int r = j - 1; r <= j + 1; r++) { for (int k = i - 1; k <= i + 1; k++) { if((k<0||k>=i)||(r<0||r>=i)) continue; else matrix[i][j] += 1; } } } } } for (int i = 0; i < m; i++) { for (int j = 0; j < n; j++) { if (matrix[i][j] == '@')//지뢰라면 { printf("%s ",'@');//지뢰를 출력해준다. } else //아니라면 { printf("%d ",matrix[i][j]);//+1된 값을 출력해준다. } } printf("\n"); } return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines