Oltre a questo, nella procedura calculateChanges hai scritto:

codice:
int i, ticket[i];
Questo non ha alcun senso... ticket è un parametro locale della procedura (nell'intestazione hai int ticket[N] ..), non ha senso/ è sbagliato ridefinirlo.

E sempre in questa procedura usi v[i], vettore che la procedura non riconosce sicuramente, perchè è vero che nel main tu hai passato un vettore chiamato v, ma in calculateChanges il nome che assume (per cosi dire) è ticket!