Sì, così è abbastanza chiaro. Altrimenti puoi anche evitare di utilizzare il break (ad alcuni non piace) e mettere la condizione nel while. La cosa importante però è che tu faccia l'inserimento nel vettore solo se l'elemento è diverso da zero. Se invece è uguale a zero non lo inserisci, la condizione di permanenza nel while risulta falsa all'iterazione successiva e il programma passa alla fase di stampa dell'array.