청아
1k
2017-07-05 12:08:18
3
501

c++ 초보인데 에러가 나는데 원인을 모르겠습니다ㅠㅠ


'빌드중 오류가 발생했습니다'라고 나오는데 원인을 잘 모르겠습니다ㅠ


#include <iostream>

#include <queue>


using namespace std;


class point

{

private:

int x;

int y;

public:

point(int _x, int _y);

int GetX();

int GetY();

void setXY(int _x, int _y);

};


point::point(int _x, int _y)

{

x = _x;

y = _y;

}


int point::GetX()

{

return x;

}


int point::GetY()

{

return y;

}


void point::setXY(int _x, int _y)

{

x = _x;

y = _y;

}


bool isInside(int x, int y) {

if (x >= 0 && x <= m && y >= 0 && y <= n) {

return true;

}

else {

return false;

}

};


int m; // 행

int n; // 열


int main(void) {


queue<point> Queue;


int x;

int y;


cin >> m;

cin >> n;


int read = 0;


int ** arr = new int*[m];

// point **p = new point*[m];


// 토마토 배열 생성 -> 초기화

for (int i = 0; i < m; i++) {

arr[i] = new int[n];


for (int j = 0; j < n; j++) {

cin >> arr[i][j];

}

}


point po(0, 0);

// 맨 초기값 큐에 삽입

Queue.push(po);


if (arr[0][0] == 0) {

arr[0][0] = 1;


read++;

}


// 큐 만들기

// 시작점 정하기 - 안익은 곳에서 시작해도 됨.


while (!Queue.empty()) {

point p = (point)Queue.front();

int x = p.GetX();

int y = p.GetY();


// 옆

if (isInside(x, y - 1) && arr[x][y - 1] == 0) {

arr[x][y - 1] = 1;


Queue.push(point(x, y - 1));

}

//위

if (isInside(x - 1, y) && arr[x - 1][y] == 0) {

arr[x - 1][y] = 1;


Queue.push(point(x - 1, y));

}

//아래

if (isInside(x + 1, y) && arr[x + 1][y] == 0) {

arr[x + 1][y] = 1;


Queue.push(point(x + 1, y));

}


if (isInside(x, y + 1) && arr[x][y + 1] == 0) {

arr[x][y + 1] = 1;


Queue.push(point(x, y + 1));

}


read++;


}



for (int i = 0; i < m; i++) {

delete[] arr[i];

}


delete[]arr;


}

-1
0
  • 답변 3

  • 협군
    5k
    2017-07-05 12:18:15

    에러 메시지는요? 

    0
  • 청아
    1k
    2017-07-05 12:32:25

    1>"ConsoleApplication8.vcxproj" 프로젝트를 빌드했습니다. - 실패

    이렇게만 나오네요 ㅠㅠ

    -1
  • 협군
    5k
    2017-07-05 12:41:36

    일단 에러로그부터 보는 법을 아셔야 할 것 같습니다. 그게 안되면 질문을 하는게 무의미 합니다.

    0
  • 로그인을 하시면 답변을 등록할 수 있습니다.