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);
}
}
(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


0