Limpar um conjunto de elementos definidos - página 23

 
Maxim Kuznetsov:
Acho que o Nicholas vai apenas completá-lo, não há nada para comparar com :-) O tempo de Peter é infinito.

Bem, sim. Não faz sentido compará-lo com o infinito - haverá infinito em qualquer caso. Mas eu estava me referindo ao tempo de vôo atual de Peter para comparação.

 
Artyom Trishkin:

Sim, não vale a pena compará-lo ao infinito - haverá infinito em qualquer caso. Mas eu estava me referindo ao tempo de vôo atual de Peter para comparação.

Código incorreto e, como conseqüência, resultados incorretos. Eu posso lutar um pouco.

 
OK, pessoal, já tivemos o suficiente de jardim de infância. )) Nikolai, desejo-lhe vitórias criativas!
 
Реter Konow:

Iniciar o mesmo projeto. Você vai descobrir).

meus projetos estão em um campo completamente diferente. Eu já disse que seu projeto era relevante no final dos anos 80.
Anatoly fez uma coisa muito sensata. Não só ganhou pontos nesta comunidade, mas também foi capaz de rentabilizar seu trabalho publicando 70 artigos.

Mas seu projeto, Pyotr, é uma tarefa de Sísifo. Eu lhe disse isto há um ano e meio atrás.

 

Qual algoritmo é mais adequado para pequenas mudanças nas exigências?

int array_filter(int &array[], const int &multiple_filters[]);


int array_filter(int &arr[], const int &filters[])
{
   int size_arr = ArraySize(arr);
   int size_filters = ArraySize(filters);
   int i=0, j=0, k=0;
   for(i=0; i<size_arr; i++){
      for(j=size_filters-1; j>=0; --j)
         if(arr[i] == filters[j])
            break;
      if(j < 0)
         arr[k++] = arr[i]; 
   }
   return ArrayResize(arr, k); 
}
 
nicholi shen:

Qual algoritmo é mais adequado para pequenas mudanças nas exigências?

E qual é a pergunta? Em uma simples comparação de array? Que mudanças, que exigências?

A pergunta certa. A metade da resposta.

 
Konstantin Nikitin:

E qual é a pergunta? Em uma simples comparação de array? Que mudanças, que exigências?


A matriz original da fonte é agora filtrada por uma lista de valores em vez de um único valor.

 
nicholi shen:

Qual algoritmo é mais adequado para pequenas mudanças nas exigências?


se o muliple_filters não for muito grande, então qualquer... se for grande, então pode haver algoritmos especiais para comparação de conjuntos (em essência: toda a tarefa é subtrair de um conjunto outro)

Em geral, o filtro pode ser da forma:

int array_filter(const T &src[], T &dst, bool (*filter_condition)(const T));

e permitir que a src, dst se refira à mesma matriz.

Assim você pode, por exemplo, descartar todos os números que caem (ou não caem) na faixa.

---

Qualquer um dos algoritmos apresentados pode ser revestido de uma forma semelhante. (em vez de comparar com X constante, será uma chamada de função, (ou como no seu caso encontrar um elemento em uma matriz)

 
nicholi shen:


A matriz original da fonte é agora filtrada por uma lista de valores em vez de um único valor.

Sinto muito em ouvir isso.

 
Maxim Kuznetsov:

se o muliple_filters não for muito grande, então qualquer... se grande, então pode haver algoritmos especiais para comparação de conjuntos (basicamente: toda a tarefa é subtrair de um conjunto outro)

Em geral, o filtro pode ser da forma:

int array_filter(const T &src[], T &dst, bool (*filter_condition)(const T));

e permitir que a src, dst se refira à mesma matriz.

Ser capaz de, por exemplo, descartar todos os números que caem (ou não) na faixa.

---

Qualquer um dos algoritmos apresentados pode ser revestido de uma forma semelhante. (em vez de comparar com X constante, será uma chamada de função, (ou como no seu caso, encontrar um elemento em uma matriz)

Ele não é russo, por isso é difícil de entender. El habla espanol.

Razão: