示例#1
0
        public static Prev Prévision_final(ElemTabproba[] table, int jour_a_predire)
        {//la méthode qui donne le resultat final qui sera affiché ( les valeurs de variables en prenant les probabilités les plus grandes )
            Prev a = new Prev();

            Element[] interm = new Element[14];

            for (int i = 0; i < interm.Length; i++)
            {
                interm[i] = new Element();
            }
            for (int i = 0; i < 14; i++)              // Pour chaque variables ( precip , tempMin , tempMax..... )
            {
                interm[i] = table[i].GetValeurs()[0]; // reçoit la valeur ayant la plus grande probabilité qui sera par la suite affiché
                                                      // Comme les valeurs de varaibles venant de probabilité sont ordonnée donc on prend la premiere valeur et on l'affiche comme elle a
                                                      // la plus grand probabilité mais si il en existe deux ayant la meme probabilité on prend la plus récente
                if (table[i].GetLentghValeurs() == 2)
                {
                    if (table[i].GetValeurs()[0].GetProba() == table[i].GetValeurs()[1].GetProba())                       // même probailité
                    {
                        if (DateTime.Compare(table[i].GetValeurs()[0].GetDate(), table[i].GetValeurs()[1].GetDate()) > 0) // ==> Date plus récente
                        {
                            interm[i] = table[i].GetValeurs()[0];
                        }
                        else
                        {
                            interm[i] = table[i].GetValeurs()[1];
                        }
                    }
                }
            }
            // c'est la date de jour de la prévision c'est a dire dans nb jour d'aujourd'hui

            DateTime date = DateTime.Now.Date;

            date = date.AddDays(jour_a_predire);


            //remplir la sortie avec les données qu'on a obtenu ==> ces derniers représente les valeurs de variables à afficher
            a.SetDate(date);
            a.SetTempMin(interm[0].GetValeur());
            a.SetTempMax(interm[1].GetValeur());
            a.SetCloudCover(interm[2].GetValeur());
            a.SetDewPoint(interm[3].GetValeur());
            a.SetHeatIndex(interm[4].GetValeur());
            a.SetHumidity(interm[5].GetValeur());
            a.SetPrecipitation(interm[6].GetValeur());
            a.SetPressure(interm[7].GetValeur());
            a.SetTempEvening(interm[8].GetValeur());
            a.SetTempMorning(interm[9].GetValeur());
            a.SetTempNoon(interm[10].GetValeur());
            a.SetTempWind(interm[11].GetValeur());
            a.SetVisibility(interm[12].GetValeur());
            a.SetWindSpeed(interm[13].GetValeur());

            return(a);  //Nous rend les valeurs des variables ayant la plus grande probabilité :)
        }