Olá pessoal,
Estou precisando capturar os índices que possuem os quatro (4) maiores valores em um array[20] posições.
A seleção dos 4 maiores valores não podem ser de maneira ordenada. Deve-se, portanto, localizar(informar) os valores
nas suas respectivas posições no vetor.
Essa classe trabalha com os valores de desvios padrões e precisa-se saber quais os 4 maiores valores sem ordená-los e mantendo
as suas respectivas posições no vetor.
A saída que eu tenho dos valores dos desvios padrões:
Desvio Padrão : 0.5196152422706635
Desvio Padrão : 1.0503967504392486
Desvio Padrão : 1.0503967504392486
Desvio Padrão : 2.4946609656090213
Desvio Padrão : 3.2316146634976968
Desvio Padrão : 1.5275252316519468
Desvio Padrão : 2.8448784391135824
Desvio Padrão : 0.05773502691896237
Desvio Padrão : 2.871120571019847
Desvio Padrão : 2.4378952670968728
Desvio Padrão : 4.007908847932215 * 2° maior valor
Desvio Padrão : 0.5
Desvio Padrão : 3.702701716314724 * 4° maior valor
Desvio Padrão : 0.4509249752822896
Desvio Padrão : 0.950438495292217
Desvio Padrão : 4.981298358192705 * 1° maior valor
Desvio Padrão : 2.516611478423583
Desvio Padrão : 2.023198787399136
Desvio Padrão : 3.855299383100272 * 3° maior valor
Desvio Padrão : 0.09999999999999964
A saída que eu preciso. Apenas os 4 maiores valores respeitando suas posições no array:
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : 4.007908847932215 *
Desvio Padrão : x
Desvio Padrão : 3.702701716314724 *
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : 4.981298358192705 *
Desvio Padrão : x
Desvio Padrão : x
Desvio Padrão : 3.855299383100272 *
Desvio Padrão : x
Obrigado, pessoal.
package pkg;
/**
*
* @author Fillipe Morais
*/
public class Principal {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
double array[] = new double[3];
array[0] = 10;
array[1] = 10;
array[2] = 9.1;
// double media = (array[0]*4+array[1]*5+array[2]*6)/15;
// if (media < 3) {
// System.out.println(media+ ":Reprovado");
// } else if (media < 7) {
// System.out.println(media+ ":Prova Final");
// } else {
// System.out.println(media+ ":Aprovado");
// }
double DvP[] = array;
DesvioPadrao d = new DesvioPadrao();
double result = d.desvioPadrao(DvP);
//System.out.println("Desvio Padrao 1: " +result);
double array2[] = new double[3];
array2[0] = 2.7;
array2[1] = 3.7;
array2[2] = 4.8;
double DvP2[] = array2;
DesvioPadrao d2 = new DesvioPadrao();
double result2 = d2.desvioPadrao(DvP2);
//System.out.println("Desvio Padrao 2: " +result2);
// System.out.println("Desvio Padrao 2: " +d2.desvioPadrao(DvP2));
double array3[] = new double[3];
array3[0] = 8.0;
array3[1] = 7.0;
array3[2] = 9.1;
double DvP3[] = array3;
DesvioPadrao d3 = new DesvioPadrao();
double result3 = d3.desvioPadrao(DvP3);
// System.out.println("Desvio Padrao 3: " +d3.desvioPadrao(DvP3));
double array4[] = new double[3];
array4[0] = 5.3;
array4[1] = 10;
array4[2] = 9.1;
double DvP4[] = array4;
DesvioPadrao d4 = new DesvioPadrao();
double result4 = d4.desvioPadrao(DvP4);
// System.out.println("Desvio Padrao 4: " +d4.desvioPadrao(DvP4));
double array5[] = new double[3];
array5[0] = 2.2;
array5[1] = 1.0;
array5[2] = 7.1;
double DvP5[] = array5;
DesvioPadrao d5 = new DesvioPadrao();
double result5 = d5.desvioPadrao(DvP5);
//System.out.println("Desvio Padrao 5: " +d5.desvioPadrao(DvP5));
double array6[] = new double[3];
array6[0] = 10;
array6[1] = 7.0;
array6[2] = 8.0;
double DvP6[] = array6;
DesvioPadrao d6 = new DesvioPadrao();
double result6 = d6.desvioPadrao(DvP6);
// System.out.println("Desvio Padrao 6: " +d6.desvioPadrao(DvP6));
double array7[] = new double[3];
array7[0] = 4.7;
array7[1] = 5.3;
array7[2] = 9.9;
double DvP7[] = array7;
DesvioPadrao d7 = new DesvioPadrao();
double result7 = d7.desvioPadrao(DvP7);
// System.out.println("Desvio Padrao 7: " +d7.desvioPadrao(DvP7));
double array8[] = new double[3];
array8[0] = 9.9;
array8[1] = 10;
array8[2] = 9.9;
double DvP8[] = array8;
DesvioPadrao d8 = new DesvioPadrao();
double result8 = d8.desvioPadrao(DvP8);
// System.out.println("Desvio Padrao 8: " +d8.desvioPadrao(DvP8));
double array9[] = new double[3];
array9[0] = 1.2;
array9[1] = 2.9;
array9[2] = 6.8;
double DvP9[] = array9;
DesvioPadrao d9 = new DesvioPadrao();
double result9 = d9.desvioPadrao(DvP9);
// System.out.println("Desvio Padrao 9: " +d9.desvioPadrao(DvP9));
double array10[] = new double[3];
array10[0] = 3.2;
array10[1] = 7.8;
array10[2] = 4.1;
double DvP10[] = array10;
DesvioPadrao d10 = new DesvioPadrao();
double result10 = d10.desvioPadrao(DvP10);
// System.out.println("Desvio Padrao 10: " +d10.desvioPadrao(DvP10));
double array11[] = new double[3];
array11[0] = 4.5;
array11[1] = 2.2;
array11[2] = 10;
double DvP11[] = array11;
DesvioPadrao d11 = new DesvioPadrao();
double result11 = d11.desvioPadrao(DvP11);
// System.out.println("Desvio Padrao 11: " +d11.desvioPadrao(DvP11));
double array12[] = new double[3];
array12[0] = 5.0;
array12[1] = 5.5;
array12[2] = 6.0;
double DvP12[] = array12;
DesvioPadrao d12 = new DesvioPadrao();
double result12 = d12.desvioPadrao(DvP12);
//System.out.println("Desvio Padrao 12: " +d12.desvioPadrao(DvP12));
double array13[] = new double[3];
array13[0] = 1.2;
array13[1] = 8.4;
array13[2] = 3.3;
double DvP13[] = array13;
DesvioPadrao d13 = new DesvioPadrao();
double result13 = d13.desvioPadrao(DvP13);
// System.out.println("Desvio Padrao 13: " +d13.desvioPadrao(DvP13));
double array14[] = new double[3];
array14[0] = 4.0;
array14[1] = 4.4;
array14[2] = 4.9;
double DvP14[] = array14;
DesvioPadrao d14 = new DesvioPadrao();
double result14 = d14.desvioPadrao(DvP14);
// System.out.println("Desvio Padrao 14: " +d14.desvioPadrao(DvP14));
double array15[] = new double[3];
array15[0] = 4.5;
array15[1] = 6.4;
array15[2] = 5.5;
double DvP15[] = array15;
DesvioPadrao d15 = new DesvioPadrao();
double result15 = d15.desvioPadrao(DvP15);
// System.out.println("Desvio Padrao 15: " +d15.desvioPadrao(DvP15));
double array16[] = new double[3];
array16[0] = 10;
array16[1] = 1.0;
array16[2] = 9.2;
double DvP16[] = array16;
DesvioPadrao d16 = new DesvioPadrao();
double result16 = d16.desvioPadrao(DvP16);
// System.out.println("Desvio Padrao 16: " +d16.desvioPadrao(DvP16));
double array17[] = new double[3];
array17[0] = 2.1;
array17[1] = 5.1;
array17[2] = 7.1;
double DvP17[] = array17;
DesvioPadrao d17 = new DesvioPadrao();
double result17 = d17.desvioPadrao(DvP17);
// System.out.println("Desvio Padrao 17: " +d17.desvioPadrao(DvP17));
double array18[] = new double[3];
array18[0] = 7.0;
array18[1] = 3.4;
array18[2] = 6.8;
double DvP18[] = array18;
DesvioPadrao d18 = new DesvioPadrao();
double result18 = d18.desvioPadrao(DvP18);
//System.out.println("Desvio Padrao 18: " +result18);
double array19[] = new double[3];
array19[0] = 2.4;
array19[1] = 7.7;
array19[2] = 9.9;
double DvP19[] = array19;
DesvioPadrao d19 = new DesvioPadrao();
double result19 = d19.desvioPadrao(DvP19);
// System.out.println("Desvio Padrao 19: " +d19.desvioPadrao(DvP19));
double array20[] = new double[3];
array20[0] = 8.3;
array20[1] = 8.4;
array20[2] = 8.5;
double DvP20[] = array20;
DesvioPadrao d20 = new DesvioPadrao();
double result20 = d20.desvioPadrao(DvP20);
// System.out.println("Desvio Padrao 20: " +d20.desvioPadrao(DvP20));
double arrayDP[] = new double [20];
arrayDP[0] = result;
arrayDP[1] = result2;
arrayDP[2] = result3;
arrayDP[3] = result4;
arrayDP[4] = result5;
arrayDP[5] = result6;
arrayDP[6] = result7;
arrayDP[7] = result8;
arrayDP[8] = result9;
arrayDP[9] = result10;
arrayDP[10] = result11;
arrayDP[11] = result12;
arrayDP[12] = result13;
arrayDP[13] = result14;
arrayDP[14] = result15;
arrayDP[15] = result16;
arrayDP[16] = result17;
arrayDP[17] = result18;
arrayDP[18] = result19;
arrayDP[19] = result20;
for (int i = 0; i < arrayDP.length; i++) {
System.out.println("Desvio Padrão : " + arrayDP[i]);
}
}
}
Obrigado.