inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

174만명의 커뮤니티!! 함께 토론해봐요.

2차원 배열 초기화 질문입니다

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

안녕하세요 선생님 강의 잘 듣고 있습니다! 다름이 아니라 위 사진과 같이 scanf("%d", &n); int a[n+2][n+2] = {0,}; 2차원 배열을 초기화 하고 나서 컴파일 하니까, 첨부한 사진과 같은 Warning 메세지가 뜨면서 실행 시에는 입력을 하다 말기까지 하더라구요 ( * n=5로 입력 받을 경우, 원래는 25개의 숫자가 입력받아져야 하는데 6번만 입력받더라구요 ㅜㅜ) ( * 2차원 벡터로 바꿨을 때는 정상적으로 작동했습니다) 그동안 1차원 배열로 n을 입력받고 나서 int a[n] = {0,}; 이런 식으로는 잘 초기화 되고 할당이 되었는데, 2차원 배열의 경우는 이게 안되는 이유가 무엇인가요? (*동적 할당..? 과 관련있는 것인가요?) 위 사진과 같은 오류 메세지는 어떨 때 생기는 오류메세지일까요? ㅜㅜ ( * [Warning] array of array of runtime bound 라고 써져 있는 부분이요,,) * 아래는 코드 전문입니다. #include <stdio.h> #include <vector> using namespace std; int main(){ int n, bongwoori=0; scanf("%d", &n); // vector<vector<int>> a(n+2, vector<int>(n+2, 0)); int a[n+2][n+2] = {0,}; for(int i=1; i<=n; i++){ for(int j=1; j<=n; j++){ scanf("%d", &a[i][j]); } } for(int i=1; i<=n; i++){ for(int j=1; j<=n; j++){ if(a[i][j]>a[i-1][j] && a[i][j]>a[i+1][j] && a[i][j]>a[i][j-1] && a[i][j]>a[i][j+1]){ bongwoori++; } } } printf("%d", bongwoori); return 0; }

  • 이차원배열
  • 초기화
  • C++
  • 코테 준비 같이 해요!
dldldksl 댓글 2 좋아요 0 조회수 1442

인기 태그

인프런 TOP Writers

주간 인기글