Ejemplo n.º 1
0
        bool provjeri_kljuc(Skup_Atributa potencijalni_kljuc)
        {
            myWin.Append("Ograda: " + potencijalni_kljuc.ToString());

            Skup_Atributa temp   = new Skup_Atributa(potencijalni_kljuc);//CP konstruktor(RADI!!)
            int           brojac = 0;
            int           size   = potencijalni_kljuc.skup.Count();

            while (size >= 0)
            {
                foreach (FO fo in relacije)
                {
                    foreach (Atribut at_left in fo.Lijevo.skup)
                    {
                        foreach (Atribut atributi_kljuca in temp.skup)
                        {
                            if (at_left.content == atributi_kljuca.content)
                            {
                                brojac++;
                            }
                        }
                    }

                    if (brojac == fo.Lijevo.skup.Count())
                    {
                        foreach (Atribut at_right in fo.Desno.skup)
                        {
                            Atribut novi = new Atribut(at_right.content);

                            if (!temp.Contains(novi))
                            {
                                temp.skup.Add(novi);
                            }
                        }
                    }
                    brojac = 0;
                }
                size--;
            }

            if (temp.skup.Count() >= veliko_R.skup.Count())
            {
                return(true);
            }
            return(false);
        }
Ejemplo n.º 2
0
        public bool Contains(Atribut atribut_za_provjeru) //Novi Contains
        {
            int flag = 0;

            foreach (Atribut a in skup)
            {
                if (a.content == atribut_za_provjeru.content)
                {
                    flag = 1;
                }
            }
            if (flag != 0)
            {
                return(true);
            }
            return(false);
        }
Ejemplo n.º 3
0
        private void UnosAtributa(string str)
        {
            problem.veliko_R.skup.Clear();

            if (string.IsNullOrEmpty(str))
            {
                MessageBox.Show("Nepostoje atributi!", "Prazno!", MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }

            string[] atributi = str.Split(',');
            atributi = atributi.Select(s => RemoveWhitespace(s.ToUpper())).ToArray();
            atributi = atributi.Distinct().ToArray();
            atributi = atributi.Where(s => !string.IsNullOrEmpty(s)).ToArray();

            foreach (string s in atributi)
            {
                Atribut novi = new Atribut(s);

                problem.veliko_R.skup.Add(novi);
            }

            UpdateAtributaListBox();
        }