Этот цикл выглядит так, как будто в нем есть ошибка "один на один":
for (i=1;i<=(max-min+1);i++){
C[i]=C[i]+C[i-1];
}
Обратите внимание, что в массиве C содержится max - min + 1 элемент, поэтому, если вы выполняете итерацию до и включаете index max - min + 1, вы записываете конец массива.
Здесь могут быть и другие проблемы, но я бы начал с этого.