<div>sw검증 시험때문에 c언어 공부중인데 1번부터 막히네요ㅠㅠ</div> <div>내용은 지뢰찾기이며</div> <div> </div> <div>문제는</div> <div> </div> <div>정수 n,m(0<n,m<=100)으로 지뢰밭의 사이즈를 입력받으며</div> <div>n=m=0인 줄은 입력이 끝났음을 나타내는 것이므로 그 줄은 처리하지 않는다</div> <div> </div> <div>이런내용이며 코드는 대략 이렇습니다.</div> <div> </div> <div> </div> <div>#include <stdio.h></div> <div> </div> <div>#define MAX_N 100<br />#define MAX_M 100</div> <div>void main(void)<br />{<br /> <br /> <span style="background-color: #ffa07a">char row[MAX_M+1]; 여기서 왜 입력받는 row의 크기가 max_m보다 1이 커야하죠?</span></div> <div> </div> <div> int n, m, i, j, i2, j2, field_id;</div> <div><span style="background-color: #fff"> char mf[MAX_N+2][MAX_M+2];</span></div> <div> field_id = 1;<br /> <br /> scanf("%d %d", &n, &m);<br /> <br /> while(n || m){</div> <div> for(i =1; i <=n; i++)<br /> for(j =1; j<=m; j++)<br /> mf[i][j] = '0';</div> <div> for(i=1; i<=n; i++){<br /> scanf("%s", row);<br /> for(j =1; j<=m; j++)<br /> if(row[j-1] == '*'){</div> <div> for(i2 = i -1; i2<=i+1; i2++)<br /> for(j2 = j -1; j2<=j+1; j2++)<br /> if(mf[i2][j2] != '*')<br /> mf[i2][j2]++;</div> <div> mf[i][j] = '*';</div> <div> }</div> <div> }</div> <div> /* 출력 */</div> <div> if (field_id>1)<br /> putchar('\n');</div> <div> printf("Filed #%d : \n", field_id++);<br /> <br /> for(i=1; i<= n; i++){<br /> for(j=1; j<= n; j++)<br /> putchar(mf[i][j]);<br /> putchar('\n');</div> <div><br /> }<br /> putchar('\n');<br /> scanf("%d %d", &n, &m);<br /> putchar('\n');<br />}<br />}</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.