Example #1
0
 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);
 }
Example #2
0
 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;
         }
     }
 }
Example #3
0
 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);
 }
Example #4
0
        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));
        }