Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    [C] risultati inaspettati

    Non riesco a capire dove sta l' errore

    Dal punto di vista sintattico e pure logico mi sembra tutto corretto.

    IL problema chiedeva:

    Del primo periodo:
    la media della pioggia caduta
    il valore minore registrato
    il valore massimo registrato

    del secondo periodo:
    giorni di pioggia scarsa (minori dell'80% della media del primo periodo)
    giorni di pioggia abbondante (maggiori al 120% della media del primo periodo)
    giorni di pioggia nella norma (fra l'80% ed il 120% della media del primo periodo)
    quanti giorni di pioggia inferiori al minimo (del primo periodo) ci sono stati?
    quanti giorni di pioggia superiore al massimo (del primo periodo) ci sono stati?
    In quale giorno è stato registrato il minimo (del secondo periodo)
    In quale giorno è stato registrato il massimo (del secondo periodo)


    codice:
    # include <stdio.h>
    # include <time.h>
    #include <stdlib.h>
    #define p 7  //si presuppone che il periodo sia una settimana//
    
    
    int main ()
    
    
    {
        int mm, max,min,i;
        int i2,cmin,cmax,max2;
        int min2,cont1,cont2,mm2,contnorm,contscar,contabb;
        float media,scarsa,norma;
    
    
        srand(time(NULL));
    
        media= 0;
        max = 0;
        min= 200;        // si è stabilito che il livello massimo di precipitazioni è 200//
    
    
        for (i=0; i<p; i++)
    
        {
            mm = rand() %200 ;
    
            if (mm>=max)
            {
                max=mm;
            }
    
            else
    
            {
                (min=mm);
            }
    
            media = (media + mm)/2;
    
    
    
    
        }
    
        printf("la temperatura minima è: %d e la massima: %d \n la media registrata è stata di: %.3f",min, max,media);
    
        max2=0;
        min2= 200;
        cmin=0;
        cmax=0;
        contabb=0;
        contnorm=0;
        contscar=0;
    
    
    
    scarsa= (media *0.8);
    norma= (media * 1.2);
    
    
        for (i2=0; i2<p; i2++)
        {
    
            mm2 = rand()%200;
    
    
            if (mm2>max2)
            {
                mm2=max2;
                cont1=i2;
            }
            else
    
            if (mm2<min2)
            {
                mm2=min2;
                cont2=i2;
            }
    
    
    
    
        if (mm2>max) {cmax++;}   //conta quante volte è stato superato il massimo delle prime rilevazioni
    
        else
    
        if (mm2<min) {cmin++;}  //conta quante volte è stato superato il minimo delle prime rilevazioni
    
    
    if (mm2< scarsa) {contscar++;}
    
    else
    
    if ((mm2>=scarsa) && (mm2<=norma))
        {
            contnorm++;
        }
    
    else
    
    {
        contabb++;
    }
        }
    
    
        printf("\n i giorni di pioggia scarsa sono stati: %d",contscar);
        printf("\n i giorni di pioggia normale sono stati: %d", contnorm);
        printf("\n i giorni di pioggi abbondante sono stati: %d",contabb);
        printf("\nla minima del secondo peridio è stata registrata il %d giorno",cont2);
        printf("\nla massima del secondo periodo è stata registrata il %d giorno",cont1);
        printf("\nil massimo delle prime rilevazioni è stato superato %d volte e il minimo è stato    superato %d volte",cmax,cmin);
    
    
    
    
        return 0;
    }

  2. #2
    Titolo non pertinente

    Qual'è il problema riscontrato? Così evitiamo di analizzare riga per riga tutto il codice..


    Ciao

  3. #3
    Originariamente inviato da MdE2005
    Titolo non pertinente

    Qual'è il problema riscontrato? Così evitiamo di analizzare riga per riga tutto il codice..


    Ciao
    Scusami per il titolo

    Il problema che a partire dal secondo ciclo for mi da risultati assurdi.
    Ad esemprio su giorni di pioggia abbondante mi segna sempre 0 e su quanti giorni di pioggia superiori al massimo del primo periodo segna cifre come 400000.

  4. #4
    niente? O_O

    Sarò scemo ma io non ci arrivo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.