#include<iostream>
#include<string.h>
using namespace std;
main(){
char nombres[3][40]={}, apellidos[3][40]={}, nomMaterias[5][40]={};
double notas[3][9]={{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0},{0,0,0,0,0,0,0,0,0}};
cout<<"Datos de los 3 estudiantes--------------------------"<<endl;
for(int i=0;i<3;i++){
cout<<"Datos del estudiante #"<<i+1<<endl;
cout<<"Nombre: ";
cin>>nombres[i];
cout<< "Apellido: ";
cin>>apellidos[i];
cout<<endl;
}
cout<<"Datos de las 5 materias-----------------------------"<<endl;
for(int i=0;i<5;i++){
cout<<"Nombre de la materia #"<<i+1<<": ";
cin>>nomMaterias[i];
}
cout<<endl<<"Notas de cada alumno-----------------------------"<<endl;
for(int i=0;i<3;i++){
cout<<"Alumno #"<<i+1<<endl;
for(int j=0;j<5;j++){
cout<<"Nota de "<<nomMaterias[j]<<": ";
cin>>notas[i][j];
}
cout<<endl;
}
for(int i=0;i<3;i++){
for(int j=0;j<5;j++){
notas[i][5]=notas[i][5]+notas[i][j];//suma de notas de cada alumno
}
}
for(int i=0;i<3;i++){
notas[i][6]=notas[i][5]/5;//promedio de cada alumno
}
// Calcular nota mayor.
for(int i=0; i<3; i++){
for (int j=0; j<5; j++){
if(notas[i][j]>notas[i][7]){
notas[i][7] = notas[i][j];
}
}
}
// Calcular nota menor.
for(int i=0; i<3; i++){
/*Al menor le damos el valor del máximo al inicio, ya que ese vale 0 al inicio,
y si no lo cambiamos no va a haber un numero menor a 0. */
notas[i][8] = notas[i][7];
for (int j=0; j<5; j++){
if(notas[i][j]<notas[i][8]){
notas[i][8] = notas[i][j];
}
}
}
cout<<"***** Impresiones en pantalla *****"<<endl<<endl;
for(int i=0;i<3;i++){
cout<<nombres[i]<<" "<<apellidos[i]<<endl;
for(int j=0; j<5; j++){
cout<<nomMaterias[j]<<":"<<notas[i][j]<<" - ";
}
cout<<"Suma de calificaciones: "<<notas[i][5]<<" - ";
cout<<"Promedio: "<<notas[i][6]<<" - ";
cout<<"Mayor calificacion: "<<notas[i][7]<<" - ";
cout<<"Menor calificacion: "<<notas[i][8]<<endl<<endl;
}
cout<<endl<<"-------*** Promedio general del grupo ***-------"<<endl;
cout<<(notas[0][6] + notas[1][6] + notas[2][6]) / 3;
return 0;
}