
Mediana aritmetica en array bidimensional?
Publicado por Albert (13 intervenciones) el 26/11/2016 17:02:52
Hola buenas tardes, estoy estudiando el ciclo formativo superior de informática y nos pusieron hace un par de días unos ejercicios sobre Arrays multidimensionales, la cosa es que llevo el mismo tiempo atascado en un ejercicio y he intentado de hacerlo de maneras distintas pero no consigo que me salga el resultado de ninguna manera. Si alguien me pudiera ayudar en un punto me haría un favor enorme, muchas gracias.
Básicamente el ejercicio trata de poner todos los datos dentro de una variable compuesta (class).
Las notas en una matriz (tabla bidimensional), los nombres en taulas unidimensionales, y los resultados también en tablas unidimensionales. Entonces, calcular la mediana aritmética de cada alumno y de cada asignatura.
Lo tengo todo hecho pero me falta la parte de obtener la suma de las notas de cada alumno para después hacer la mediana no me sale de ninguna manera, me salen números más altos de lo que deberían ser.
public class Exercici1T2 {
public static void main(String[] args) {
class Composta{
float notes [][] = {{8.5f,9.0f,6.0f,9.5f},{7.0f,4.5f,7.0f,7.0f},{4.5f,6.5f,8.0f,8.5f},{9.5f,8.5f,7.0f,5.0f},{2.0f,5.0f,6.0f,8.0f},{7.0f,6.0f,7.5f,7.0f}};
String noms [] = {"Maria", "Carmen", "Pau C.", "Pau M.", "Eva", "Gerad"};
String fila [] = {"ALUMNE", "MATES", "NATUS", "HIST", "ANGLÈS"};
float mitjana;
float sumaMat = 0, sumaNat = 0, sumaHist = 0, sumaAng = 0;
float sumaMar = 0, sumaCar = 0, sumaPauC = 0, sumaPauM = 0, sumaEva = 0, sumaGer = 0;
}
Composta comp = new Composta();
for(int h = 0; h < comp.fila.length; h++){
System.out.print(comp.fila[h]+" ");
}
for(int i = 0; i < comp.notes.length; i++){
comp.sumaCar += comp.notes[0][0];
comp.sumaPauC += comp.notes[3][3];
comp.sumaPauM += comp.notes[3][3];
comp.sumaEva += comp.notes[3][3];
comp.sumaGer+= comp.notes[1][3];
comp.sumaMat += comp.notes[i][0];
comp.sumaNat += comp.notes[i][1];
comp.sumaHist += comp.notes[i][2];
comp.sumaAng += comp.notes[i][3];
System.out.println("");
System.out.print(comp.noms[i]+"\t");
for (int j = 0; j < comp.notes[i].length; j++){
System.out.print(" ");
System.out.print(comp.notes[i][j]);
}
}
System.out.println("");
System.out.println("");
System.out.println("La mitjana de Mates és: "+comp.sumaMat/6);
System.out.println("La mitjana de Natus és: "+comp.sumaNat/6);
System.out.println("La mitjana de Història és: "+comp.sumaHist/6);
System.out.println("La mitjana de Anglès és: "+comp.sumaAng/6);
System.out.println("La mitjana de Maria és de: "+comp.sumaMar);
System.out.println("La mitjana de Carmen és de: "+comp.sumaCar);
System.out.println("La mitjana de Pau C. és de: "+comp.sumaPauC);
System.out.println("La mitjana de Pau M. és de: "+comp.sumaPauM);
System.out.println("La mitjana de Eva és de: "+comp.sumaEva);
System.out.println("La mitjana de Gerad és de: "+comp.sumaGer);
}
}


Básicamente el ejercicio trata de poner todos los datos dentro de una variable compuesta (class).
Las notas en una matriz (tabla bidimensional), los nombres en taulas unidimensionales, y los resultados también en tablas unidimensionales. Entonces, calcular la mediana aritmética de cada alumno y de cada asignatura.
Lo tengo todo hecho pero me falta la parte de obtener la suma de las notas de cada alumno para después hacer la mediana no me sale de ninguna manera, me salen números más altos de lo que deberían ser.
public class Exercici1T2 {
public static void main(String[] args) {
class Composta{
float notes [][] = {{8.5f,9.0f,6.0f,9.5f},{7.0f,4.5f,7.0f,7.0f},{4.5f,6.5f,8.0f,8.5f},{9.5f,8.5f,7.0f,5.0f},{2.0f,5.0f,6.0f,8.0f},{7.0f,6.0f,7.5f,7.0f}};
String noms [] = {"Maria", "Carmen", "Pau C.", "Pau M.", "Eva", "Gerad"};
String fila [] = {"ALUMNE", "MATES", "NATUS", "HIST", "ANGLÈS"};
float mitjana;
float sumaMat = 0, sumaNat = 0, sumaHist = 0, sumaAng = 0;
float sumaMar = 0, sumaCar = 0, sumaPauC = 0, sumaPauM = 0, sumaEva = 0, sumaGer = 0;
}
Composta comp = new Composta();
for(int h = 0; h < comp.fila.length; h++){
System.out.print(comp.fila[h]+" ");
}
for(int i = 0; i < comp.notes.length; i++){
comp.sumaCar += comp.notes[0][0];
comp.sumaPauC += comp.notes[3][3];
comp.sumaPauM += comp.notes[3][3];
comp.sumaEva += comp.notes[3][3];
comp.sumaGer+= comp.notes[1][3];
comp.sumaMat += comp.notes[i][0];
comp.sumaNat += comp.notes[i][1];
comp.sumaHist += comp.notes[i][2];
comp.sumaAng += comp.notes[i][3];
System.out.println("");
System.out.print(comp.noms[i]+"\t");
for (int j = 0; j < comp.notes[i].length; j++){
System.out.print(" ");
System.out.print(comp.notes[i][j]);
}
}
System.out.println("");
System.out.println("");
System.out.println("La mitjana de Mates és: "+comp.sumaMat/6);
System.out.println("La mitjana de Natus és: "+comp.sumaNat/6);
System.out.println("La mitjana de Història és: "+comp.sumaHist/6);
System.out.println("La mitjana de Anglès és: "+comp.sumaAng/6);
System.out.println("La mitjana de Maria és de: "+comp.sumaMar);
System.out.println("La mitjana de Carmen és de: "+comp.sumaCar);
System.out.println("La mitjana de Pau C. és de: "+comp.sumaPauC);
System.out.println("La mitjana de Pau M. és de: "+comp.sumaPauM);
System.out.println("La mitjana de Eva és de: "+comp.sumaEva);
System.out.println("La mitjana de Gerad és de: "+comp.sumaGer);
}
}


Valora esta pregunta


0