[ Foro de C# ]

Necesito ayuda Matrices

29-May-2019 01:10
ramiro toranzos
0 Respuestas

hola gente! estoy un poco atrasado en matrices y se me presento un problema bastante complejo.

Realice un programa en c# (consola) para gestionar la asistencia de un curso de 12 alumnos y 7 clases
Un 0 es ausente y un 1 es presente (la asistencia se genera al azar con 80% de probabilidad de presente y 20% ausentes). Se pide:
1) Listado de asistencia (generando una matriz de 12 x 8 con P y A en lugar de 0 y 1)
2) Listado de alumnos con asistencia perfecta
3) Listado de libres (alumnos con mas de 3 inasistencias)
4) Listado de asistencia ordenado.

Necesito un poco de guia para desarrollar el ejercicio, desde ya muchas gracias.
Esto es lo que pude hacer del codigo el problema esta en generar los listados de asistencia perfecta, libres y el listado de asistencia ordenado


// asignamos las variables con las que vamos a trabajar
            int[,] MatrizAsistencia = new int[12, 7]; // Matriz de asistencia MesxDia
            string[] VectorAlumnos = new string[12]; //Vector alumnos a ingresar
            Random Generador = new Random(); //Random para generar los P y A 
            string[,] MatrizFinal = new string[12, 8]; //Matriz que Muestra el vector
            // y la matriz de asistencias x alumnos
 
            //for para asignarle al vector el nombre de cada alumno
 
            for (int i = 0; i < 12; i++)
            {
                Console.WriteLine("Ingrese el nombre del alumno");
                VectorAlumnos[i] = Console.ReadLine();
            }
 
            //for anidado para rellenar la Matriz de asistencia con valores Random
            for (int i = 0; i < 12; i++)
            {
                for (int d = 0; d < 7; d++)
                {
                    MatrizAsistencia[i, d] = Generador.Next(101);
                    if (MatrizAsistencia[i, d] <= 80) //este if else para condicionar
                                                      //si nos tira numeros de 80 o mas es un 1 
                                                      //caso contrario que sean 0.
                    {
                        MatrizAsistencia[i, d] = 1;
                    }
                    else
                    {
                        MatrizAsistencia[i, d] = 0;
                    }
                }
 
                Console.WriteLine();
            }
 
 
 
            //for anidado para la Matriz Final
            for (int i = 0; i < 12; i++)
            {
                for (int d = 0; d < 7; d++)
                {
                    if (d == 0) //Asignamos que la primera columna sea los valores del
                                //vector alumnos
                    {
                        MatrizFinal[i, 0] = VectorAlumnos[i];
                    }
                    else
                    //caso contrario que rellene las otras columnas con A y P
                    {
                        if (MatrizAsistencia[i, d] == 0)
                        {
                            MatrizFinal[i, d + 1] = "|" + "A" + "|";
                        }
                        else
                        {
                            MatrizFinal[i, d + 1] = "|" + "P" + "|";
                        }
                    }
                }
            }// for
 
            // for anidado para mostrar la Matriz final
            for (int i = 0; i < 12; i++)
            {
                for (int d = 0; d < 8; d++)
                {
                    Console.Write(MatrizFinal[i, d]);
                }
                Console.WriteLine();
            }
 
 
            Console.ReadKey();
        }
    }
}


 




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)