#include // const voor alle functies (array upper boundary) const top = 6; void verwijder(int n,int Array[]); void show(int array[]); //main void main() { int reeks[top]={1,5,9,5,8,7}; show(reeks); cout << "verwijder het getal '5' uit deze reeks" << endl << endl; verwijder(5, reeks); show (reeks); } void verwijder(int n, int Array[]) { /* dit is een mooie */ // bedoeling : verwijder getal n uit Array. int verwijder = 0; // houdt bij hoeveel getallen verwijderd zijn // zie verder. // lus doorloopt array en controleers (if ...) // of getal n voorkomt in array for (int i = 0; i < top; i++) { if (Array[i] == n) { verwijder++; }/* dwz : in deze cyclus wordt enkel aangeduid dat tijdens deze doorloop het getal gevonden is. via de waarde van 'verwijder' zal in de volgende cyclus het volgende getal naar voorgeschoven worden. */ else { Array [i-verwijder] = Array[i]; }/* als er nog geen te verwijderen getal gevonden is, blijven de waarden van de azrray ongewijzigd (verwijder==0) als verwijder bijv = 1, (i.e te verwijderen getal gevonden , dan wordt het getal in de vorige positie overschreven door het getal van de huidige positie dit wordt herhaalt tot heel de array doorlopen is : alle getallen na het te verwijderen getal schuiiven naar voor */ } /* als er getallen naar voor geschoven zijn,staat er achteraan in de array nog waarden die al naarvoor gecopieerd zijn. die moeten verwijderd worden (op 0 zetten) met loop (zo dikwijls als er getallen verwijderd zijn) */ for (int j = 0; j < verwijder; j++) { Array[top-1-j] = 0; } } void show(int array[]) { for( int i = 0; i< top; i++) { cout << array[i] << " - "; } cout << endl; }