Il problema è qui

int i;
int v[i];

in quel momento i non ha valore certo e non puoi utilizzarlo per impostare il vettore.

Solo quando hai valorizzato i potrai scrivere

int v[i];

Ma poi perché usi due vettori v di diverso tipo?