Lenguajes como Python , Ruby y Java pueden facilitar la programación . Pero cuando llega el momento de potencia y velocidad, no hay un lenguaje moderno como el viejo recurso : C. Sin embargo , ese poder tiene un precio . Incluso las operaciones simples, tales como la eliminación de objetos de una matriz , puede ser una empresa un tanto vertiginoso para un programador se utiliza para cambiar el tamaño de la matriz dinámica disponible en muchos idiomas modernos. Aquí podrá crear una función que se puede utilizar para eliminar un elemento de una matriz de enteros . Instrucciones .
1
abrir un editor de texto
2
Pega el siguiente función : void
removeElement (int * arr , elemento int , int * Tamaño ) {
int contador = 0 ;
for (int x = 0 ; x < * Tamaño ; ! x + + ) {
if ( x = elemento ) {
arr [ contador ] = arr [x ] ;
contador + + ; }
}
* size = * Tamaño - 1 ;
}
Como puede ver , esto toma un puntero a una matriz, el número de elemento a eliminar , y el tamaño de la matriz. La última variable es muy importante: C simplemente no permite reducir el tamaño de un array declarado (o aumentarla , para el caso. ) En su lugar, usted tendrá que hacer un seguimiento del tamaño de la matriz por separado y utilizar el " sizeof "la función , ya que sólo una referencia para la corriente tamaño máximo del array. El tamaño y la propia matriz tanto se pasan como punteros , por lo que podemos llegar a las direcciones y cambiar sus valores fuera de la función
Después de eso , la lógica es simple: . Datos a la derecha del elemento eliminado es simplemente desplaza a la izquierda .
3
Guarde su trabajo en " removeElement.cpp . "