Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Esta difícil de entender como o método se liga ao Array

Array amostra = Array.CreateInstance(typeof(double), 5);
amostra.SetValue(5.9, 0);
amostra.SetValue(1.8, 1);
amostra.SetValue(7.1, 2);
amostra.SetValue(10, 3);
amostra.SetValue(6.9, 4);

//[5,9][1,8][7,1][10][6,9]
TestaMediana(amostra);

void TestaMediana(Array array)
{
    if ((array == null) || (array.Length == 0))
    {
        Console.WriteLine("Array para cálculo da mediana está vazio ou nulo.");
    }

    double[] numerosOrdenados = (double[])array.Clone();
    Array.Sort(numerosOrdenados);

Nesta parte em que criamos o metodo "TestaMediana" esta dificil entender como o "Array array" se liga ao "Array amostra", vi no final que tem um (double[])array.clone(); porem não consigo entender como esta inteiramente interligado ao "Array amostra".

1 resposta
solução!

Olá, Andre! Entendo que a conexão entre o "Array amostra" e o "Array array" pode parecer um pouco confusa à primeira vista. Vamos tentar esclarecer isso.

O "Array amostra" é criado e preenchido com valores no código principal. Quando você chama o método "TestaMediana(amostra);", você está passando o "Array amostra" como argumento para o método "TestaMediana".

Dentro do método "TestaMediana", o "Array array" é o parâmetro que recebe o "Array amostra" que foi passado. Então, "Array array" e "Array amostra" são, na verdade, o mesmo array. O nome "array" é apenas o nome que o método "TestaMediana" usa para se referir ao array que foi passado para ele.

Quando você faz "double[] numerosOrdenados = (double[])array.Clone();", você está criando uma cópia do "Array array" (que é o "Array amostra") e armazenando essa cópia na variável "numerosOrdenados". A razão para fazer uma cópia é que você não quer alterar o array original quando você ordena os números para calcular a mediana.

Então, para resumir, "Array array" é apenas o nome que o método "TestaMediana" usa para se referir ao "Array amostra" que foi passado para ele como argumento. E "numerosOrdenados" é uma cópia do "Array array" que é feita para que o array original não seja alterado.

Espero que isso esclareça a sua dúvida! Se ainda tiver alguma questão, por favor, sinta-se à vontade para perguntar. Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software