//Librería de scanf y printf
#include <stdio.h>
#include <stdlib.h>
//Función principal
int main()
{
//Declaración de variables
float *notasClase, mediaAlumno=0, mediaTotal=0;
int i,j,numalumnos, numexamenes;
//Leemos cuántos alumnos y cuántos exámenes
printf("Introduzca el número de alumnos: ");
scanf("%d", &numalumnos);
printf("Introduzca el número de exámenes: ");
scanf("%d", &numexamenes);
//Reservamos espacio
notasClase=(float*)malloc(sizeof(float)*numalumnos*numexamenes);
//Leemos las notas
printf("\n Introduzca las notas de la clase:\n");
for (i=0; i<numalumnos; i++) {
for (j=0; j<numexamenes; j++) {
printf("\nIntroduzca la nota %d del alumno %d: ", j+1, i+1 );
scanf("%f",notasClase+i*numexamenes+j);
}
}
//Calculamos las medias de cada alumno y la total de la asignatura
mediaTotal=0;
for (i=0; i<numalumnos; i++) {
mediaAlumno=0;
for (j=0; j<numexamenes; j++) {
mediaAlumno+=*(notasClase+i*numexamenes+j);
}
mediaTotal+=mediaAlumno;
mediaAlumno/=numexamenes;
printf("\nLa media del alumno %d es %f", i, mediaAlumno);
}
mediaTotal/=numalumnos*numexamenes;
printf("\nLa media total es %f", mediaTotal);
free(notasClase);
//Fin del main
return 0;
}