Forse l'errore è qui
void inizializza (vettore v, int &r, vettore v2, int &r2)
{
fstream f;
stringa nomi;
char t;
r=0;
r2=0;
f.open ("name.txt", ios::in);
while (!f.eof()){
f >> nomi;
t=sesso (nomi);
cout << "";
if ((t=='a') && (!ciSta(v2,r2,nomi))){
strcpy(v2[r2],nomi);
r2++;
}
else if (!ciSta (v,r,nomi)){
strcpy(v[r],nomi);
r++;
}
}
f.close();
}
non mi convince molto questa funzione, ma dovrei controllare meglio ho dato solo un occhiata molto veloce. Prova a cambiarla un po'...