#include #include #define ALUM 10 #define ASIG 3 float** InicializarMatriz() { float **M; int i; M = (float**)malloc(ASIG * sizeof(float*)); for(i = 0; i< ALUM; i++) M[i] = (float*)malloc(ALUM * sizeof(float)); return M; } float NotaMedia(float **M, int asig) { float media; int i; for(i = 0; i < ALUM; i++) media = media + M[asig][i]; media = media / ALUM; return media; } int main(void) { float **NOTAS; int i,j; NOTAS = InicializarMatriz(); printf("Inicializacion de la matriz:\n"); for(i = 0; i < ASIG; i++) { printf("\tASIGNATURA %d:\n", i); for(j = 0; j < ALUM; j++) { printf("\t\tIntroduzca calificacion: "); scanf("%f",&NOTAS[i][j]); } } for(i = 0; i< ASIG; i++) printf("La nota media de la asignatura %d es %f\n",i,NotaMedia(NOTAS,i)); system("PAUSE"); return 0; }