[ Foro de C ]

Problema con programa con arrays

07-Dec-2019 13:54
Saúl Leyva
0 Respuestas

Buenas! Tengo un problema con el siguiente ejercicio:
"Plantee e implemente un programa en lenguaje C que almacene en memoria las horas de estudio que dedica un alumno a una asignatura determinada durante una semana. Solicite los datos apropiadamente al usuario y calcule y muestre la media de horas diarias empleadas en esa asignatura, asimismo indique el día en el que ha estado más aplicado (mayor número de horas estudiando) y más vago (menor número de horas estudiando). "

El programa compila pero no devuelve nada. No doy encontrado el fallo. Por favor, ayuda!!!
Gracias de antemano.

#include <stdio.h>

void mediahorasdeestudio(int h[7]){
   char dias[7][10] = {"lunes", "martes", "miércoles", "jueves", "viernes", "sábado", "domingo"};
   int media = 0;

   for(int i=0; i<7; i++) {
       printf("Horas de estudio del %s: ", dias[i][10]);
       scanf("%d", &h[i]);
       media = media + h[i];
   }
   media = media/7;

   printf("La media de horas estudiadas es de: %d", media);
}

void aplicado(int *h[7]){
   char dias[7][10] = {"lunes", "martes", "miércoles", "jueves", "viernes", "sábado", "domingo"};
   int diadefault= -1, cnt=-1;

   for(int i=0; i<7; i++){
       if(h[i]>diadefault){
           diadefault=h[i];
           cnt++;
       }
   }
   printf("El día que más has estudiado es el %s (%d horas)", dias[cnt][10], h[cnt]);
}

void vago(int *h[7]){
   char dias[7][10] = {"lunes", "martes", "miércoles", "jueves", "viernes", "sábado", "domingo"};
   int diadefault= 25, cnt=-1;

   for(int i=0; i<7; i++){
       if(h[i]<diadefault){
           diadefault=h[i];
           cnt++;
       }
   }
   printf("El día que más has estudiado es el %s (%d horas)", dias[cnt][10], h[cnt]);
}

int main(){
   int h[7];

   mediahorasdeestudio(h[7]);
   aplicado(h[7]);
   vago(h[7]);

}




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