Aplicando el manejo de vectores, matrices en el desarrollo de aplicaciones

 import java.util.Scanner;

public class MyClass {

    public static void main(String args[]) {

        // Permite tomar datos del usuario

        Scanner in = new Scanner(System.in);


        // Define el arreglo bidimensional con su respectivo número de filas y columnas

        double[][] notasEstudiante = new double[5][3];


        // Estructura repetitiva anidada para almacenar los valores

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

            // Cada fila controlada por el contador i representa un estudiante

            System.out.println("Ingrese las notas del estudiante " + (i + 1) + ":");

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

                // Cada columna controlada por el contador j representa una materia

                // Almacenar el dato ingresado por el usuario

                notasEstudiante[i][j] = in.nextDouble();

            }

        }


        // Calcular el promedio general de notas de todo el grupo de estudiantes

        double sumTotal = 0;

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

            double sum = 0;

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

                sum += notasEstudiante[i][j];

            }

            sumTotal += sum / 3;

        }

        double promedioGeneral = sumTotal / 5;

        System.out.println("El promedio general de notas del grupo de estudiantes es: " + promedioGeneral);


        // Determinar cuántos estudiantes pierden por materia (nota menor a 60)

        int estudiantesPierdenPorMateria = 0;

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

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

                if (notasEstudiante[i][j] < 60) {

                    estudiantesPierdenPorMateria++;

                    break; // Se sale del bucle interior al encontrar un estudiante que pierde en esta materia

                }

            }

        }

        System.out.println("Cantidad de estudiantes que pierden por materia: " + estudiantesPierdenPorMateria);

    }

}

Comentarios

Entradas populares de este blog

Tarea: Proyecto integrador fase 1: levantamiento de requisitos

Presentación Programación de Dispositivos Móviles

Principales diagramas de UML