Untitled

 avatar
unknown
plain_text
4 years ago
1.4 kB
5
Indexable
public static void ZnajdzMinMaxWNumerycznych(Obiekt[] obiekty)
        {
            var numeryczne = obiekty.First().numeryczne;

            foreach (var item in numeryczne)
            {
                var index = item.Key;

                double min = obiekty[0].numeryczne[index];
                double max = obiekty[0].numeryczne[index];

                List<Obiekt> brakująceWartosci = new List<Obiekt>();
                for (int i = 1; i < obiekty.Length; i++)
                {
                    if (obiekty[i].numeryczne.ContainsKey(index))
                    {
                        if (obiekty[i].numeryczne[index] < min)
                            min = obiekty[i].numeryczne[index];

                        if (obiekty[i].numeryczne[index] > max)
                            max = obiekty[i].numeryczne[index];
                    }
                    else
                    {
                        brakująceWartosci.Add(obiekty[i]);
                    }
                }

                foreach (var ob in brakująceWartosci)
                {
                    ob.numeryczne.Add(index, min);
                    ob.Symboliczne.Remove(index);
                }

                Obiekt.cnf.Min.Add(index, min);
                Obiekt.cnf.Max.Add(index, max);
            }
        }
Editor is loading...