public Islem(Islem _denklembaslangici, Operator_List _islem, int _siradakisayi) { this.SiradakiSayi = new List <int>((int[])_denklembaslangici.SiradakiSayi.ToArray().Clone()); this.SiradakiSayi.Add(_siradakisayi); this.Operatorler = new List <Operator_List>((Operator_List[])_denklembaslangici.Operatorler.ToArray().Clone()); this.Operatorler.Add(_islem); }
public void Coz() { for (int i = 0; i < TumSayilar.Count; i++) { Islem _denklem = new Islem(TumSayilar[i]); List <int> arttikliste = KisaListeOlustur(TumSayilar, i); if (CozumAra(_denklem, arttikliste)) { break; } } }
private bool CozumAra(Islem _denklembaslangici, List <int> _artikliste) { for (int i = 0; i < _artikliste.Count; i++) { foreach (Operator_List islem in Enum.GetValues(typeof(Operator_List))) { List <int> yeniartikliste = KisaListeOlustur(_artikliste, i); int siradakisayi = _artikliste[i]; if (CozumeKartiEkle(siradakisayi, islem, _denklembaslangici, yeniartikliste)) { return(true); } } } return(false); }
private bool CozumeKartiEkle(int _siradakisayi, Operator_List _islem, Islem _denklembaslangici, List <int> _artikliste) { Islem denklem = new Islem(_denklembaslangici, _islem, _siradakisayi); if (Math.Abs(Hdf2 - denklem.DegerHesapla) <= enYakin) { enYakin = Math.Abs(Hdf2 - denklem.DegerHesapla); this.Islem = denklem; if (denklem.DegerHesapla == Hdf2) { return(true); } } if (_artikliste.Count == 0) { return(false); } return(CozumAra(denklem, _artikliste)); }