none
Temperatura mayor RRS feed

  • Pregunta

  • Hola estoy haciendo un programa el cual, me debe de indicar en forma de tabla las regiones (escritas desde el teclado), generación de temperaturas aleatorios, pero debo de indicar las regiones con temperatura más calurosa y día más caluroso.

    Por el momento solo tengo las temperaturas aleatorios, pero mi solución para mostrar la temperatura más calurosa, es la siguiente: 

    float [] temp_mc = new float [temp.Length];
    for(i = 0; i < cantidad_regiones; i++) {
    for(j=0; j < 7; j++){
    float temporal= temp_mc[i];
    if (i == 0 && temp[0,0] >= temporal) {
    temporal = temp[0,0];
    temp_mc[i] =temporal;
    }
    if (i == 0 && temp[0,1] >= temporal) {
    temporal = temp[0,1];
    temp_mc[i] =temporal;
    }
    if (i == 0 && temp[0,2] >= temporal) {
    temporal = temp[0,2];
    temp_mc[i] =temporal;
    }
    if (i == 0 && temp[0,3] >= temporal) {
    temporal = temp[0,3];
    temp_mc[i] =temporal;
    }
    if (i == 0 && temp[0,4] >= temporal) {
    temporal = temp[0,4];
    temp_mc[i] =temporal;
    }
    if (i == 0 && temp[0,5] >= temporal) {
    temporal = temp[0,5];
    temp_mc[i] =temporal;
    }
    if (i == 0 && temp[0,6] >= temporal) {
    temporal = temp[0,6];
    temp_mc[i] =temporal;
    }
    if (i == 1 && temp[1,0] >= temporal) {
    temporal = temp[1,0];
    temp_mc[i] =temporal;
    }

    Así es demasiado código y al escribir por teclado el número de regiones, sería algo absurdo seguir escribiendo más posibles posiciones de arreglos.

    Espero me puedan ayudar, gracias

    martes, 4 de septiembre de 2018 18:05

Respuestas

  • Tiene toda la pinta de ser un ejercicio académico, por lo que no te puedo escribir la solución lista y terminada, pero te indico de forma genérica el procedimiento a seguir. Para obtener el valor máximo se hace esto:

    - Inicializar una variable, llamémosle tMaxima con un valor imposiblemente pequeño.

    - Recorrer con un bucle todo el array de temperaturas.

    - Por cada elemento del array, compararlo con tMaxima. Si es mayor, guardarlo en tMaxima (siempre habrá alguno que sea mayor puesto que tMaxima se inicializó con un valor muy pequeño).

    Al salir del bucle, tMaxima tendrá el valor máximo.

    martes, 4 de septiembre de 2018 19:38
    Moderador

Todas las respuestas

  • Tiene toda la pinta de ser un ejercicio académico, por lo que no te puedo escribir la solución lista y terminada, pero te indico de forma genérica el procedimiento a seguir. Para obtener el valor máximo se hace esto:

    - Inicializar una variable, llamémosle tMaxima con un valor imposiblemente pequeño.

    - Recorrer con un bucle todo el array de temperaturas.

    - Por cada elemento del array, compararlo con tMaxima. Si es mayor, guardarlo en tMaxima (siempre habrá alguno que sea mayor puesto que tMaxima se inicializó con un valor muy pequeño).

    Al salir del bucle, tMaxima tendrá el valor máximo.

    martes, 4 de septiembre de 2018 19:38
    Moderador
  • Hola, tienes razón, hice algo similar, pero ahora, los resultados solo unos salen bien, los demás me muestran 0.0

    float tmayor= 0.0f ;
    int pos_mayor= -1;
    float [] temp_mc = new float [cantidad_regiones];
    for (j = 0; j < 7; j++) {
    for(i = 0; i < cantidad_regiones; i++) {
    if (i != cantidad_regiones && tmayor < temp[i,j] ) {
    tmayor= temp[i,j];
    temp_mc[i] = tmayor;
    i = pos_mayor;
    }
    }
    }

    Los resultados que tengo y para el último arreglo del día de temperatura más calurosa, ¿Qué me recomiendas?

    

    

    miércoles, 5 de septiembre de 2018 17:31