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); }
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); }
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(); }