Linguagens como Python , Ruby e Java podem tornar a programação mais fácil. Mas quando chega a hora de poder bruto e velocidade, não há uma linguagem moderna, como a velha : C. No entanto, esse poder tem um preço . Até mesmo operações simples, como a remoção de objetos de uma matriz, pode ser uma empresa um tanto vertiginosa para um programador usado para a matriz dinâmica redimensionamento disponível em muitas línguas modernas . Aqui você vai criar uma função que pode ser usado para remover um elemento de uma matriz de inteiros . Instruções
1
Abra um editor de texto
2
Cole a seguinte função: .
RemoveElement void ( int * arr, elemento int, int size * ) {
int contador = 0;
for (int x = 0; x < * tamanho ; ! x + +) {
if ( x = elemento) {
arr [ contador] = arr [ x] ;
contador + +; }
}
* size = * Tamanho - 1 ;
}
Como você pode ver , isso leva um ponteiro para um array, o número do elemento a ser removido , eo tamanho da matriz. A última variável é muito importante: ( . Ou aumentá-lo , para que o assunto ) C simplesmente não permite a redução do tamanho de um array declarado Em vez disso, você vai precisar para manter o controle do tamanho da matriz separadamente , e usar o " sizeof " função apenas como uma referência para o tamanho máximo atual do array. . O tamanho ea própria matriz são tanto passados como ponteiros , para que possamos entrar em seus endereços e alterar seus valores fora da função
Depois disso, a lógica é simples : os dados à direita do elemento removido é simplesmente deslocado para a esquerda .
3
Salve seu trabalho em " removeElement.cpp . "