Aprire un editor di testo
2
Incollare la seguente funzione :
vuoto removeElement (int * arr , elemento int , int * size ) {
int counter = 0;
for (int x = 0; x < * size ; ! x + + ) {
se ( x = elemento ) {
arr [ contatore ] = arr [ x ] ;
contatore + + ; }
}
* size = * size - 1 ;
}
Come si può vedere , questo richiede un puntatore ad un array , il numero di elemento da rimuovere , e la dimensione della matrice . L' ultima variabile è molto importante : C semplicemente non permette di ridurre le dimensioni di una matrice dichiarata ( o aumentando , per quella materia . ) , Invece, è necessario tenere traccia della dimensione della matrice separatamente , e utilizzare il " sizeof funzione ", come soltanto un riferimento per la dimensione massima corrente della matrice. La dimensione e la matrice stessa sono entrambi passati come puntatori , così possiamo ottenere i loro indirizzi e modificarne i valori al di fuori della funzione
Dopo di che , la logica è semplice : . Dati a destra dell'elemento rimosso è semplicemente spostato a sinistra .
3
salvare il lavoro in " removeElement.cpp . "
Programmazione © www.354353.com