Zobacz, co tu się dzieje:
int test,rozmiar;
Te zmienne są globalne, więc zostaną wyzerowane zanim program wystartuje
short* tablica=new short [test];
short* glowa=tablica;
Zaraz potem tworzysz tablicę na dane. Jaką wartość ma w tym momencie zmienna test
? 
Potem Twój program odpala funkcję main
. Jednak wczytanie wartości do zmiennej test
nie już ma żadnego wpływu na utworzoną wcześniej tablicę. Czyli cały czas operujesz na tablicy o wiadomym rozmiarze 
Widzisz, gdzie jest problem?
Druga sprawa, to do czego potrzebujesz dwóch wskaźników tablica
i glowa
?