Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Duda con una bariable

Estas en el tema de Duda con una bariable en el foro de C/C++ en Foros del Web. Buenos dias amigos bueno tengo esta duda y es asi.. Tengo un programa que realiza el proceso barias veces y tengo una bariable que no ...
  #1 (permalink)  
Antiguo 13/11/2012, 08:55
Avatar de domix  
Fecha de Ingreso: noviembre-2012
Mensajes: 18
Antigüedad: 11 años, 6 meses
Puntos: 0
Duda con una bariable

Buenos dias amigos bueno tengo esta duda y es asi..

Tengo un programa que realiza el proceso barias veces y tengo una bariable que no puedo declararla como ejemplo b = 0 la razon de eso es que la tengo que

If if(n[i]<df){
df = n[i];
df1=i;
}

Si la declaro como cero desde el principio nada ba a ser menor que cero y por esa razon me ba a dar error.. bueno ese chin lo tengo claro ahora el problema esta que cuando hago la primera funcion con el siempre se me queda el ultimo numero menor que meto no cambia. lo que me gustaria saber si hay alguna funcion para volverla que su valor sea vacio osea nada cero.. grax por la ayuda aki le boy a djar el codigo del problema que me dejaron. Grax. :)


Código C++:
Ver original
  1. include<stdio.h>
  2. #include<conio.h>
  3.  
  4. main ()
  5.  
  6. {
  7.  
  8. //menos de 18grado es frio y mayor es calor.
  9.  
  10. char Alt;
  11. int n[10];
  12. int limite, df, dc=0, i, dc1=0, df1=0, d=1, limitep;
  13.  
  14.    
  15. printf("\n\t\t\t\t\t\t\tINTRODUSCA LOS DIAS: ");
  16. scanf("%d", &limite);
  17. printf("\t\t\t\t\t\t\tLIMITE DE T: ");
  18. scanf("%d", &limitep);
  19.  
  20. printf("\n");
  21.  
  22.  
  23. while (d <=limite){
  24.      
  25.       dc=0; dc1=0; df1=0;
  26.      
  27. printf("\n\nDIA %d:", d);
  28.        
  29. printf("\n");
  30.  
  31. for (i=1; i<=limitep; i++){
  32.  
  33.     printf("INTRODUSCA TEMPERATURA %d: ", i);
  34.     scanf("%d", &n[i]);
  35.  
  36. };
  37.  
  38. for (i=1; i<=limitep; i++){
  39.  
  40. if (n[i] > 18){
  41.    
  42.     if (n[i]>dc){
  43.     dc = n[i];
  44.     dc1=i;
  45.     }
  46. }
  47.    
  48.    
  49. if (n[i] <= 18){
  50.    
  51.     if(n[i]<df){
  52.     df = n[i];
  53.     df1=i;
  54.     }  
  55. }
  56.  
  57. }
  58.  
  59. if (df==2686916){
  60.     df=0;
  61.     }
  62.    
  63. printf("\nEl DIA: %d mas CALIDO fue: %d  y su TEMPERATURA fue de: %d%c",d, dc1,dc,Alt+248);
  64. printf("\nEl DIA: %d mas FRIO fue: %d y su TEMPERATURA fue de: %d%c",d,df1,df,Alt+248);
  65. d = d+1;
  66.  
  67. }
  68. getch();    
  69. }
  #2 (permalink)  
Antiguo 13/11/2012, 09:50
Avatar de Heimish2000  
Fecha de Ingreso: enero-2011
Ubicación: Madrid
Mensajes: 844
Antigüedad: 13 años, 3 meses
Puntos: 89
Respuesta: Duda con una bariable

Lo que tienes que hacer es declarar df a un valor muy grande (con 1000 te valdría, no creo que haya una temperatura mayor) para que la primera vuelta entre por ahí.

De todas formas, tienes dos bucles que son iguales y los puedes unificar en uno de tal forma que una vez leido el dato de un día te haga las comprobaciones y así tu código será más eficiente.
  #3 (permalink)  
Antiguo 13/11/2012, 10:05
Avatar de domix  
Fecha de Ingreso: noviembre-2012
Mensajes: 18
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Duda con una bariable

suu muchas grax eso pense hacerlo pero me imagine que habia otra manera que.. jeje pero ahora se que estoy en elo correcto en declarar con u tal grado que nunca ba a llegar a ser posible en la tierra XD y en cuanto al bucle si tengo algo claro ese chin pero solo me falta quitarlo y ponerle que en ves sea en el for sea en el while o biceversa. XD lolz :P
  #4 (permalink)  
Antiguo 13/11/2012, 12:08
Avatar de cotolon  
Fecha de Ingreso: octubre-2012
Mensajes: 55
Antigüedad: 11 años, 6 meses
Puntos: 10
Respuesta: Duda con una bariable

Generalmente cuando quieres comparar arrays y haces

array[4]; de 0 .. 3

para empezar a comparar
se le asigna a dc el primer valor del array

dc = array[0];

Por ejemplo si los valores son 7 8 9 6

dc = 7 (está en esta forma: dc > array[i] con un for de i = 0; i < 4; i++)
7 > 7 -> No, no se cambian
8 > 7 -> Si, ahora dc = 8
9 > 8 -> Si, ahora dc = 9
9 > 6 -> No,

Por lo tanto el mayor es 9.
  #5 (permalink)  
Antiguo 14/11/2012, 11:34
Avatar de domix  
Fecha de Ingreso: noviembre-2012
Mensajes: 18
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Duda con una bariable

hmm interesante manera de hacerlo colon como siempre muchas grax.. :D asi estaba buscando una manera de hacerlo sin tener que declararlo con un numero mamyor. :D

Etiquetas: bariable, vacio
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:00.