Java - Ejercicios resueltos de array 02

 
Vista:

Ejercicios resueltos de array 02

Publicado por burlon (14 intervenciones) el 20/03/2015 10:35:02
Sabiendo que tenemos una clase de 6 alumnos (Pepe, Juan, Ana, Marta, Pedro y María), con 4 asignaturas cada uno
(Lengua, Mates, Historia y Física), realiza un programa que le dé al usuario las siguientes opciones:
1 Rellenar las notas de los alumnos.
2 Mostrar las notas introducidas en el punto anterior.
3 Que nos diga que alumno es el mejor de la clase. (nota media más alta) . (Necesitarás un array unidimensional con los nombres)
4 Que nos diga el alumno con más suspensos.
5 Que nos diga cual es la asignatura más difícil. (nota media más baja) . (Necesitarás un array unidimensional con las asignaturas)
6 Salir del programa.
Controlaremos que el usuario elija una opción del menú entre 1 y 6. Hasta que el usuario no pulse 6 no saldremos del programa.

public class EjercicioObligatorios15 {

/**
* @param args the command line arguments
*/

public static void rellenarNotas(int notas[][], String asignaturas[], String alumnos[]){


Scanner teclado = new Scanner(System.in);

System.out.println("Las Notas de la clase son: ");

for (int i = 0; i < notas.length; i++) {

for (int j = 0; j < notas[0].length; j++) {

System.out.println("Para el alumno " + alumnos[i] + " y la asignatura " + asignaturas[j] + " es de: " );

notas[i][j]=teclado.nextInt();

}

}

}

public static void rellenarAsignaturasYAlumnos(String asignaturas[], String alumnos[]){

asignaturas[0] = "Lengua";
asignaturas[1] = "Mates";
asignaturas[2] = "Historia";
asignaturas[3] = "Fisica";

alumnos[0] = "Pepe";
alumnos[1] = "Juan";
alumnos[2] = "Ana";
alumnos[3] = "Marta";
alumnos[4] = "Pedro";
alumnos[5] = "Maria";
}

public static void mostrarNotas(int notas[][], String asignaturas[], String alumnos[]){

int contadorA = 0;
int contadorAsig = 0;


System.out.println(" Vamos a mostrar las notas de los alumnos ");

for (int i = 0; i < notas.length; i++) {

for (int j = 0; j < notas[0].length; j++) {

System.out.println("Para el alumno " + alumnos[i] + " y la asignatura " + asignaturas[j] + " es de: " + notas[i][j] );

}
}

}

public static void mejorAlumno(int notas[][], String alumnos[], double notaMedia[]){

System.out.println("El alumno con mejor nota media es: ");
double mayor = notaMedia[0];
double suma = 0;

for (int i = 0; i < notas.length; i++) {

for (int j = 0; j < notas[0].length; j++) {

if (i == 0) {

suma = suma + notas[i][j];
notaMedia[0] = suma / 4;

}
if (i == 1) {

suma = suma + notas[i][j];
notaMedia[1] = suma / 4;

}
if (i == 2) {

suma = suma + notas[i][j];
notaMedia[2] = suma / 4;

}
if (i == 3) {

suma = suma + notas[i][j];
notaMedia[3] = suma / 4;

}
if (i == 4) {

suma = suma + notas[i][j];
notaMedia[4] = suma / 4;

}
if (i == 5) {

suma = suma + notas[i][j];
notaMedia[5] = suma / 4;

}

}

System.out.println("Para el alumno " + alumnos[i] + " la media es de: " + notaMedia[i] );

suma = 0;
}

for (int x = 0; x < notaMedia.length; x++) {

if(notaMedia[x] > mayor){
mayor = notaMedia[x];

}

}

if (mayor == notaMedia[0]) {
System.out.println("La mejor media la tiene " + alumnos[0]);
}
if (mayor == notaMedia[1]) {
System.out.println("La mejor media la tiene " + alumnos[1]);
}
if (mayor == notaMedia[2]) {
System.out.println("La mejor media la tiene " + alumnos[2]);
}
if (mayor == notaMedia[3]) {
System.out.println("La mejor media la tiene " + alumnos[3]);
}
if (mayor == notaMedia[4]) {
System.out.println("La mejor media la tiene " + alumnos[4]);
}
if (mayor == notaMedia[5]) {
System.out.println("La mejor media la tiene " + alumnos[5]);
}

}

public static void alumnoMasSuspenso(int notas[][], String alumnos[], int suspensos[]){
int sus=0, mayor=0;

for (int i = 0; i < notas.length; i++) {

for (int j = 0; j < notas[0].length; j++) {

if (notas[i][j] < 5) {

sus++;

}

}

suspensos[i]=sus;

if (sus > mayor) {

mayor = sus;

}

System.out.println("El alumno " + alumnos[i] + " Tiene = " + suspensos[i]);

sus = 0;

}

if (mayor == suspensos[0]) {
System.out.println("El que tiene mas suspensos es " + alumnos[0]);
}
if (mayor == suspensos[1]) {
System.out.println("El que tiene mas suspensos es " + alumnos[1]);
}
if (mayor == suspensos[2]) {
System.out.println("El que tiene mas suspensos es " + alumnos[2]);
}
if (mayor == suspensos[3]) {
System.out.println("El que tiene mas suspensos es " + alumnos[3]);
}
if (mayor == suspensos[4]) {
System.out.println("El que tiene mas suspensos es " + alumnos[4]);
}
if (mayor == suspensos[5]) {
System.out.println("El que tiene mas suspensos es " + alumnos[5]);
}

}

public static void asignaturaMasDificil(int notas[][], String asignatura[], double[] notaMediaAsig){

double menor=10;
double suma = 0;


for (int i = 0; i < 4; i++) {


for (int j = 0; j < 6; j++) {

suma = suma + notas[j][i];

}

notaMediaAsig[i] = suma/6;
suma = suma/6;
if (suma < menor) {

menor = suma;
}
System.out.println("La asignatura " + asignatura[i] + " Tiene de nota media = " + notaMediaAsig[i]);
suma = 0;
}

if (menor == notaMediaAsig[0]) {
System.out.println("La asignatura mas dificil es: " + asignatura[0]);
}
if (menor == notaMediaAsig[1]) {
System.out.println("La asignatura mas dificil es: " + asignatura[1]);
}
if (menor == notaMediaAsig[2]) {
System.out.println("La asignatura mas dificil es: " + asignatura[2]);
}
if (menor == notaMediaAsig[3]) {
System.out.println("La asignatura mas dificil es: " + asignatura[3]);
}

}

public static void menu(int notas[][], String asignaturas[], String alumnos[], double notaMedia[], int suspensos[], double notaMediaAsig[]){

Scanner teclado = new Scanner(System.in);

int opcion;

do {

System.out.println(" ----Menu----- ");

System.out.println(" [1] - Rellenar las notas de los alumnos. " );
System.out.println(" [2] - Mostrar las notas introducidas en el punto anterior.");
System.out.println(" [3] - Que nos diga que alumno es el mejor de la clase.");
System.out.println(" [4] - Que nos diga el alumno con más suspensos.");
System.out.println(" [5] - Que nos diga cual es la asignatura más difícil.");
System.out.println(" [6] - Salir del programa.");

opcion = teclado.nextInt();

switch(opcion){
case 1 :
rellenarNotas(notas, asignaturas, alumnos);
break;

case 2 :
mostrarNotas(notas, asignaturas, alumnos);
break;

case 3 :
mejorAlumno(notas, alumnos, notaMedia);
break;

case 4 :
alumnoMasSuspenso(notas, alumnos, suspensos);
break;

case 5 :
asignaturaMasDificil(notas, asignaturas, notaMediaAsig);
break;

case 6 :
System.out.println("Gracias por usar el programa");
break;

default:
System.err.println("opción erronea");
break;

}

} while (opcion != 6);

}
public static void main(String[] args) {
// TODO code application logic here
int[][] notas = new int[6][4];
String[] asignaturas = new String[4];
String[] alumnos = new String[6];
double[] notaMedia = new double[6];
double[] notaMediaAsig = new double[4];
int[] suspensos = new int[6];

rellenarAsignaturasYAlumnos(asignaturas, alumnos);

menu(notas, asignaturas, alumnos, notaMedia, suspensos, notaMediaAsig);
}

}

---------------------------------------------------------------------------------------------------

Diseñe un array de almacenamiento apto para albergar el siguiente triángulo:
Observe que el número de columnas de cada fila no es el mismo. Rellene el array diseñado con los datos del triángulo, y muéstrelo en pantalla.

public class EjercicioObligatorios17 {

public static void rellenarTabla(int arrayMulti[][]){
int numero = 1;
int mitad = 0;
int contador = 0;
boolean subir = true;

for (int i = 0; i < arrayMulti.length; i++) {

for (int j = 0; j < arrayMulti[i].length; j++) {

mitad = arrayMulti[contador].length / 2;

if ((numero <= mitad) && (subir == true)) {

arrayMulti[i][j] = numero;
numero++;

} else {

arrayMulti[i][j] = numero;
numero--;
subir = false;

}

}
subir = true;
numero=1;
contador++;
}

}


public static void mostrarTabla(int arrayMulti[][]){


for (int i = 0; i < arrayMulti.length; i++) {

for (int j = 0; j < arrayMulti[i].length; j++) {

System.out.print(arrayMulti[i][j]);

}
System.out.println();

}

}

public static void main(String[] args) {
// TODO code application logic here

int[][] arrayMulti = new int[8][];
arrayMulti[0] = new int[15];
arrayMulti[1] = new int[13];
arrayMulti[2] = new int[11];
arrayMulti[3] = new int[9];
arrayMulti[4] = new int[7];
arrayMulti[5] = new int[5];
arrayMulti[6] = new int[3];
arrayMulti[7] = new int[1];

rellenarTabla(arrayMulti);
mostrarTabla(arrayMulti);


}

}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder