안녕하세요 프로그래밍 공부하는 청년입니다. 다름이 아니라 학원에서 숙제 내준 프로그램 짜고 있는데 마지막 sum값이 자꾸 주소값이 나오네요 ㅠㅠ 답답해 미치겠습니다. 도와주세요~~

#include <stdio.h>
#include <time.h>
#include <stdlib.h>



void main(void)
{
        short *base=NULL;
        short *sum=NULL;
        long width;
        long height;

        srand((unsigned)time(NULL));

        printf("세로와 가로의 숫자를 입력하세요.");
        scanf("%d %d", &height, &width);

        base=new short[height*width];
        sum=new short[(height-1)*(width-1)];


        //랜덤값 출력하는 부분
        for(int i=0; i<height*width; i++)
        {
                base[i]=rand()%10;
        }

        //랜덤으로 출력된 값을 줄맞춤 하는 부분
        for(int i=0; i<height; i++)
        {
                for(int j=0; j<width; j++)
                {
                        printf("%d\t",base[i*width+j]);
                }
                printf("\n");
        }

        //줄맞춤된 맵에 sum값 계산및 출력 부분

        //1차적으로 sum값계산
        for(int i=0; i<height-1; i++)
        {
                for(int j=0; j<width-1; j++)
                {
                        sum[(i*width)+j]=sum[i*width+j]+sum[i*width+j+1]+sum[(i+1)*width+j]+sum[(i+1)*width+j+1];
                }
        }

        //계산된 결과값을 출력
        for(int i=0; i<height-1; i++)
        {
                for(int j=0; j<width-1; j++)
                {
                        printf("%d\t",sum[(i*width)+j]);
                }
                printf("\n");
        }
        //포인터에 사용된 값을 초기화
delete []base;
delete []sum;

}