A che serve quel ciclo for? E che fine ha fatto num che è il valore da assegnare?

Se hai l'indice dell'elemento in elem e il valore in num, assegnalo semplicemente con

*(vett+elem) = num;