Bienvenido a Tecnohackers

Tecnohackers » Programacion » Area de Programacion » Programacion a Bajo Nivel. APIs, Hooking, ASM, C/C++, etc.
 » 

Empezar con Array Multidimensional.



Autor Tema: Empezar con Array Multidimensional.  (Leído 820 veces)

Desconectado P4|3L0

  • Asiduo
  • *
  • Mensajes: 75
  • TecnoHacker un nuevo proyecto.
    • http://www.tecnohacker.com
Empezar con Array Multidimensional.
« en: Diciembre 29, 2009, 10:46:03 am »
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.
Código: You are not allowed to view links. Register or Login
# 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.
Código: You are not allowed to view links. Register or Login
#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.
Código: You are not allowed to view links. Register or Login
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.
Código: You are not allowed to view links. Register or Login
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.
Código: You are not allowed to view links. Register or Login
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



Tags:
Tags:

 


SMF 2.0.19 | SMF © 2016, Simple Machines
Paginas Afiliadas
Twitter - FaceBook - Daraxblog
Designed by Smf Personal