Daruj sobie te wskaźniki i alokację pamięci. Wejście i wyjście w spoju są oddzielone, więc nie trzeba wpisywać wyników do tablicy tylko po to, żeby je potem wypisać.
Co do kodu:
wynik = new int[i + 1];
wynik = tab_wynikow;
To jest kompletnie bez sensu. W pierwszej linii przypisujesz do zmiennej wynik obszar pamięci na (i+1) intów tylko po to, by w kolejnej linijce tą zmienną nadpisać i utracić dostęp do zaalokowanej pamięci. Inna sprawa, że ta zmienna nie jest nigdzie w kodzie używana.
Sam błąd wynika zapewne z wyjścia poza zakres tablicy. Zmienna tab_wynikow ma miejsce na jednego inta, więc już przy drugim obrocie pętli wychodzisz poza zakres.
W linijce 45 z kolei źle zwalniasz pamięć.