Usuário com melhor resposta
Média com valores randômicos

Pergunta
-
Tenho um gráfico, com tres barras por série, feiro com Telerik. Como eu ainda não conectei com um banco de dados, criei as barras com valores randômicos, para simular um BD. Só que a quarta série seira uma média de todos os valores(as 10 séries de tres). Como estou fazendo com Random, não sei como seria essa média. Cada série são tres barras e um total de 10 séries de 3. Alguém sabe como fazer ou tem uma idéia? Abaixo o código randômico:
tamanhoserie = 10;
for (int i = 0; i < tamanhoserie; i++)
{
doubleArray2008[i] = random.Next(100);
doubleArray2009[i] = random.Next(100);
doubleArray2010[i] = random.Next(100);
}
Aqui está minha chamada para montar a série.
chartSeries1.SetValues(bl.doubleArray2008);
chartSeries2.SetValues(bl.doubleArray2009);
chartSeries3.SetValues(bl.doubleArray2010);
Respostas
-
Amigo, boa noite,
para você conseguir a média de uma array de valores, você poderá usar o método Average, por exemplo:
double[] valores = new double[10]; Random random = new Random(); for (int i = 0; i < 10; i++) { valores[i] = random.Next(100); } double valorMedio = valores.Average();
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Twitter @Olavooneto
Facebook Olavo Neto
Linkedin Olavo Neto
Se for útil marque como resposta e faça um Developer feliz :)- Marcado como Resposta Olavo Oliveira NetoModerator sexta-feira, 27 de abril de 2012 13:08
-
Resolvi. Faltou um for para iterar e carregar os valores a cada posição da iteração. Valeu a todos e em especial ao Olavo.
- Marcado como Resposta Olavo Oliveira NetoModerator sexta-feira, 27 de abril de 2012 13:08
Todas as Respostas
-
Amigo, boa noite,
para você conseguir a média de uma array de valores, você poderá usar o método Average, por exemplo:
double[] valores = new double[10]; Random random = new Random(); for (int i = 0; i < 10; i++) { valores[i] = random.Next(100); } double valorMedio = valores.Average();
Olavo Oliveira Neto
http://olavooneto.wordpress.com
Twitter @Olavooneto
Facebook Olavo Neto
Linkedin Olavo Neto
Se for útil marque como resposta e faça um Developer feliz :)- Marcado como Resposta Olavo Oliveira NetoModerator sexta-feira, 27 de abril de 2012 13:08
-
Quanto a isso eu entendi, acontece que os valores vêm irregulares, ou seja, ele tá pegando média por série e o que eu quero é que a média seja uma única para todas as séries, tipo:
Serie1 = 20;
serie2 = 30;
serie3 = 10;
Média = 60/3 = 20;
Então na serie 20 a linha média é de 20, na série 30 a linha média é de 20 e na série 10 a linha média é de 20, ficando uma linha reta de 20 em cada série. E isso eu não estou conseguindo, tá vindo uma linha média para cada série(irregular).
-
-
Nessa chamada eu não consigo pegar o average do array
chartSeries5.SetValues(bl.doubleArrayMetaAprovacao1);//Nesse tipo de chamada, não tem opção Average(). Na classe de carga eu carrego os valores e retiro as médias, agora necessito criar o gráfico(uma linha) dessa média. Por propriedade não dá, porque ela só carrega um valor. Teria que ser outro vetor do mesmo tamanho, que carregaria em cada posição o valor da média, mas eu fiz assim e deu erro.
public double arrayMedia[];
public double arrayMediaFinal[];
public double arrayValores1[];
public double arrayValores1[];
.....
arrayMedia= new double[tamanhoserie];
arrayValores1 = new double[tamanhoserie];
arrayValores2 = new double[tamanhoserie];
arrayMediaFinal = new double[tamanhoserie];
for (int i = 0; i < tamanhoserie; i++){
arrayValores1[i] = random.Next(100);
arrayValores2[i] = random.Next(100);
arrayMedia[i] = arraValores1[i] + arrayValores2[i];
}
Aqui deveria criar outro vetor e passar os valores médios de arrayMeta para ele.Tipo
arrayMediaFinal = arrayMedia.average(); // Isso aqui está errado. Como eu passo os valores médios para o vetor média final e poder chamá-lo na minha classe de chamada?
-
Resolvi. Faltou um for para iterar e carregar os valores a cada posição da iteração. Valeu a todos e em especial ao Olavo.
- Marcado como Resposta Olavo Oliveira NetoModerator sexta-feira, 27 de abril de 2012 13:08