Bueno hoy explicaré una cosa que me costó en sus dias un poco de tragar =S
Para que lo vayais entendiendo os pondré el código.
# include <stdio.h>
# include <stdlib.h>
#define DIASS 7
#define DIASM 31
#define HORAS 24
int main()
{
int temp[DIASM][HORAS], opcion;
float media = 0; int hora, dia;
system("title Array Multidimensional");
printf("Escoge la opcion:\n\n");
printf("[1]-Temperatura media de todo un mes\n[2]-Temperatura media de toda una semana\n\n");
scanf("%i", &opcion);
{
switch (opcion)
{
case 1:
system("CLS");
for( dia=0 ; dia<DIASM ; dia++ ) {
for( hora=0 ; hora<HORAS ; hora++ ) {
printf( "Que temperatura hace a las %d del dia %d: ", hora, dia );
scanf( "%i", &temp[dia][hora] );
media += temp[dia][hora];
}
}
media = media / HORAS / DIASM;
printf( "\nLa temperatura media de todo un mes es %f\n", media );
system("PAUSE");
break;
case 2: for( dia=0 ; dia<DIASS ; dia++ ) {
for( hora=0 ; hora<HORAS ; hora++ ) {
printf( "Que temperatura hace a las %d del dia %d: ", hora, dia );
scanf( "%i", &temp[dia][hora] );
media += temp[dia][hora];
}
}
media = media / HORAS / DIASS;
printf( "\nLa temperatura media de la semana es %f\n", media );
system("PAUSE");
break;
default : printf("Esta opcion no se encuentra en el menu\n");
break;
}
}
system("pause");
}
Primero definimos variables, en este caso los dias que tiene una semana y los dias de un mes, que por predeterminado he puesto 31, como esto solo es una explicación no importa eso, y por último las horas del dia 24.
#define DIASS 7
#define DIASM 31
#define HORAS 24
Esta es la parte del menú donde escogeremos que deseamos analizar si las temperaturas de un mes o de una sola semana.
printf("Escoge la opcion:\n\n");
printf("[1]-Temperatura media de todo un mes\n[2]-Temperatura media de toda una semana\n\n");
scanf("%i", &opcion);
{
switch (opcion)
Si elegimos la opción primera, la de los meses, se ve que cogemos el array DIASM, que son 31, los dias de un mes. Se introduce en el FOR, para que metamos 744 números que son el número de horas que hay en un mes. Esto se hace solo utilizando los arrays, sin poner ningún número.Luego hace la media de todas esas horas, y nos muestra el resultado.
case 1:
system("CLS");
for( dia=0 ; dia<DIASM ; dia++ ) {
for( hora=0 ; hora<HORAS ; hora++ ) {
printf( "Que temperatura hace a las %d del dia %d: ", hora, dia );
scanf( "%i", &temp[dia][hora] );
media += temp[dia][hora];
}
}
media = media / HORAS / DIASM;
printf( "\nLa temperatura media de todo un mes es %f\n", media );
system("PAUSE");
break;
Y si escogemos la segunda opción pues exactamente lo mismo, pero con solo 7 dias. Se introduce DIASS en el FOR y se para al llegar a 168, que son las horas de una semana.Y luego hace la media.
case 2: for( dia=0 ; dia<DIASS ; dia++ ) {
for( hora=0 ; hora<HORAS ; hora++ ) {
printf( "Que temperatura hace a las %d del dia %d: ", hora, dia );
scanf( "%i", &temp[dia][hora] );
media += temp[dia][hora];
}
}
media = media / HORAS / DIASS;
printf( "\nLa temperatura media de la semana es %f\n", media );
system("PAUSE");
break;
Esto se podría mejorar, por ejemplo elegir el mes en el que estás para escoger entre un array y otro, para no tener un fallo de un dia..O en el caso de Febrero de 3 días..
Aquí el LINK de descarga de esto..
You are not allowed to view links.
Register or
Login