Se ora la fuzione riceve in ingresso le ore e il ticket

void calculateChanges (int v[N], int ticket [N]);

e tu gli passi solo le ore

calculateChanges(v);

ti dice che ha troppi pochi elementi per chiamare la funzione