elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Ayuda con un problema;
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ayuda con un problema;  (Leído 1,561 veces)
Onigiri

Desconectado Desconectado

Mensajes: 22


C++


Ver Perfil
Ayuda con un problema;
« en: 5 Octubre 2012, 14:51 pm »

Veran tengo que ingresar par de temperaturas diarias máx. y min.
El proceso terminara cuando ambas son cero.
Ahora; lo que quiere que se informe es la cantidad de días cuyas temperaturas se han leido, la media maxima y la media minima.
se hallar esto; seria un acumulado/contador pero como las temperaturas que ingreso seran consecutivas cambiaria constantemente mi media en ambos casos. y como guardaria el registro de días?.

Ésto es lo que hice hasta el momento
Código
  1. #include <conio.h>
  2. #include <iostream.h>
  3. main()
  4. {int mx,mn,cd,cmn,pmn,tmx,amx;
  5. cd=cmn=tmx=amx=0;
  6. cout<<"\nIngresar temperatura maxima = ";
  7. cin>>mx;
  8. cout<<"\nIngresar temperatura minima = ";
  9. cin>>mn;
  10. while((mx!=0&&mn!=0))
  11.  
  12.  {cd=cd+1;  /*Contador de dias*/
  13.   if(mn<0) {cmn=cmn+1;
  14.             pmn=(cmn*100)/cd;
  15.             } /*En caso de que la temp. min. sea menor a 0; cuento
  16.              y hago ya un porcentaje preliminar.*/
  17.   if(mx>tmx){tmx=mx;} /*Pregunto si la temp. ahora ingresada supera
  18.                        a tmx y sino guardo*/
  19.  
  20.  }
  21.  cout<<"\nEl porcentaje de inferiores representa el = "<<pmn;
  22.  cout<<"\nLa temperatura max. ingresada fue = "<<tmx;
  23.  getch();
  24.  }
  25.  

Para las medias haria ésto
Código
  1. amx=amx+mx;
  2.   amn=amn+mn;
  3.   mmx=amx/cd;
  4.   mmn=amn/cd;

Pero como guardo un registro de esos dias
Agradeceria mucho cualquier ayuda D;


En línea

xiruko


Desconectado Desconectado

Mensajes: 438


Ver Perfil
Re: Ayuda con un problema;
« Respuesta #1 en: 5 Octubre 2012, 15:28 pm »

puedes hacer una estructura que contenga la temperatura maxima y minima de cada dia:

Código
  1. struct datos {
  2.     float tmax;
  3.     float tmin;
  4. };

y en el main declaras un array de esta estructura:

Código
  1. #define MAX 30;
  2.  
  3. int main() {
  4.  
  5.     struct datos dias[MAX];
  6.     //...

y asi tendrias los registros de todos los dias para luego procesar la informacion de la manera que quieras. he puesto que MAX sea 30 por poner algo, asi ahi pon el valor que necesites. o sino, puedes hacerlo con memoria dinamica y que cada dia que pase el array de la estructura se vaya haciendo mas grande cuando lo necesites.

no se... ya comentaras si necesitas algo asi. un saludo!


En línea

Onigiri

Desconectado Desconectado

Mensajes: 22


C++


Ver Perfil
Re: Ayuda con un problema;
« Respuesta #2 en: 5 Octubre 2012, 16:14 pm »

Muchas gracias por tu ayuda!
;)
En línea

leosansan


Desconectado Desconectado

Mensajes: 1.314


Ver Perfil
Re: Ayuda con un problema;
« Respuesta #3 en: 5 Octubre 2012, 23:04 pm »

Veran tengo que ingresar par de temperaturas diarias máx. y min.
El proceso terminara cuando ambas son cero.
Creo que podrías tratarlo con arrays. Como no introduces el número de días previamente, habrá que sobredimensionar el array, cosa que hago en el "define" a 100. Puedes cambiar ese valor a tu caso. Te propongo un código algo diferente, ya que calculo tanto temperaturas máxima y mínimas de las máxima y mínima. Mejor lo ves en "acción":
Código
  1. #include <iostream>
  2. #include <stdio.h>
  3. #define MAX 100
  4. using namespace std;
  5. int main()
  6. {
  7.    int dias=1,i,n=1;
  8.    float max_max=-273,max_min=400,max_media=0,min_max=-273,
  9.        min_min=400,min_media=0,max[MAX],min[MAX],suma_max=0,
  10.        suma_min=0,max_menor_cero=0,min_menor_cero=0;
  11.    cout << "\n\n\t\tIngresar en temperatura maxima 1122 para SALIR"<< endl;
  12.    for (i=0;i<MAX;i++)
  13.        {
  14.            cout << "\nIngresar temperatura maxima = ";
  15.            cin >> max[i];
  16.            cout<<"\nIngresar temperatura minima = ";
  17.            cin >> min[i];
  18.            if (min[i]==0 && max[i]==0) break;
  19.            if (max[i]<0) max_menor_cero++;
  20.            if (max[i]>max_max) max_max=max[i];
  21.            if (max[i]<max_min) max_min=max[i];
  22.            suma_max+=max[i];
  23.            if (min[i]<0) min_menor_cero++;
  24.            if (min[i]<min_min) min_min=min[i];
  25.            if (min[i]>min_max) min_max=min[i];
  26.            suma_min+=min[i];
  27.        }
  28.    cout<<"\nEl numero de dias medidos es = "<<i<< endl;
  29.    cout<<"\nLa temperatura max_max ingresada fue = "<<max_max<< endl;
  30.    cout<<"\nLa temperatura max_min ingresada fue = "<<max_min<< endl;
  31.    cout<<"\nLa temperatura min_min ingresada fue = "<<min_min<< endl;
  32.    cout<<"\nLa temperatura min_max ingresada fue = "<<min_max<< endl;
  33.    cout<<"\nLa temperatura media_max  es = "<<suma_max/(i)<< endl;
  34.    cout<<"\nLa temperatura media_min  es = "<<suma_min/(i)<< endl;
  35.    cout<<"\nPorcentaje de dias (= "<<  max_menor_cero <<") de max inferior a cero es =" <<max_menor_cero*100/(i)<< endl;
  36.    cout<<"\nPorcentaje de dias (= "<<  min_menor_cero <<") de min inferior a cero es =" <<min_menor_cero*100/(i)<< endl;
  37.    cout<<"\n\nPresione cualquier tecla para salir"<< endl;
  38.    getchar ();getchar ();
  39.    return 0;
  40.  }
Espero te sea útil. Saludos!
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con un problema...
Java
Zero_1 5 4,201 Último mensaje 30 Noviembre 2007, 13:39 pm
por Zero_1
[Ayuda] Problema con un bat. « 1 2 »
Scripting
washanwer 11 6,035 Último mensaje 9 Julio 2008, 06:45 am
por washanwer
Ayuda con problema en C
Programación C/C++
Pantuflo 5 2,939 Último mensaje 11 Mayo 2010, 16:41 pm
por Ari Slash
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines