Ya estas incrementando el valor por cada vocal....Solo te falta igualar el valor de w en la posicion de cada vocal...O sea ahi si enumeras bien w en cada vocal pero no almacenas el numero en la posicion de la vocal algo asi: cadena en la psicion x=w...
if(.......)
{
w++;
cad[x]=w;
}
Y despues imprimes toda la cadena afuera del while...