Non ho capito bene il tuo codice.Se può essere di aiuto, io avevo creato una funzione in c apposita per riempire un vettore idealmente di qualsiasi dimensione, usando quelli gia trovati:
void calcola_primi(int numero_primo[], int num_primi)
{
int i ,i_riemp,numero,primo;
numero_primo[0]=2;
i_riemp=1;
numero=3;
while(i_riemp<num_primi)
{
i=0; primo=VERO;
while(i<i_riemp && primo)
{
if(numero%numero_primo[i]==0)
primo=FALSO;
else
i++;
}
if(primo)
{
numero_primo[i_riemp]=numero;
i_riemp++;
}
numero++;
}
return;
}
Puoi modificarla per quello che devi fare tu:)