W tej pętli
while(cośtam != czegośtam)
{
c = new int[1];
// tutaj jakieś przekształcenia c
}
to ty ciągle wskaźnikowi c przypisujesz adres, gdzie zarezerwowałeś obszar pamięci na tablicę z 1 intem. Więc tablica dynamiczna ma rozmiar 1 i nic się nie zmienia. Prócz tego że masz wyciek pamięci, bo nie zwalniasz tamtych innych obszarów, które zarezerwowałeś, a teraz już nie wiesz gdzie są (żaden wskaźnik ci tego nie pokazuje już).
Rozwiązaniem może być, albo wcześniejsze przeliczenie przed pętlą ile będziesz potrzebował miejsca w pamięci i rezerwacja odpowiednio dużej tablicy, potem tylko odwołujesz do kolejnych elementów tablicy. Możesz też skorzystać, co moim zdaniem będzie najprostsze, z klasy vector z STL'a. Możesz o tym poczytać tu