코드가 변태스럽지만... 
동적할당할 때 new *arr = int[sizeof(int)*num*num]을
new *arr = int(sizeof(int)*num*num) 이라고 써서 2시간동안 골머리 앓다가 
검색해보고 바꿔서 다행히 금방 만듦 ㅠㅜ 코드 약간 변태인건 인정... 

주석좀 달아 놓으면 나아질려나... ㅠ