[ Foro de C++ ]

Necesito ayuda Matrices

28-May-2019 01:13
ramiro toranzos
1 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.

Perez Juan                                   0 1 1 1 1 1 1
Cordoba Andres                         1 1 1 0 1 1 1
Monteros Matias                        1 0 1 1 1 1 0
Diaz Daniel                                  1 0 1 1 1 1 0
Galarza Maria                             1 0 1 1 1 1 0
Perez Ivana                                 1 1 1 1 1 1 1
Cardozo Raul                              1 0 1 1 1 1 0
Rodriguez Miguel                       1 0 1 1 1 1 1
Castro Antonio                            1 1 1 1 1 1 0
Veliz Carlos                                   1 1 1 1 0 1 0
Antunes Juan                                1 0 1 1 1 1 1
Carabajal Juan                              1 0 1 1 1 1 0

Ejemplo de la matriz (lo mejor que salio xD)


28-May-2019 16:32
ramiro toranzos

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.)