public List <OyunRakamlari> IkiSayiAl(List <OyunRakamlari> liste) { if (liste.Count == 0) { throw new Exception("Count 0"); } List <OyunRakamlari> donenListe = new List <OyunRakamlari>(); liste = liste.Where(x => x.KullanildiMi == false).ToList(); if (sayac < 2) { int deger1 = 0, deger2 = 0; while (deger1 == deger2) { donenListe.Clear(); for (int i = 0; i < 2; i++) { if (i == 1) { deger2 = SayiIste(1, liste.Count); OyunRakamlari o = liste[deger2]; o.KullanildiMi = true; donenListe.Add(o); } if (i != 1) { deger1 = SayiIste(1, liste.Count); OyunRakamlari o = liste[deger1]; o.KullanildiMi = true; donenListe.Add(o); } } } } else { int deger1 = 0; donenListe.Clear(); if (liste.Count == 1) { deger1 = 0; } else { deger1 = SayiIste(1, liste.Count); } OyunRakamlari o = liste[deger1]; o.KullanildiMi = true; donenListe.Add(o); } sayac++; return(donenListe); }
static void Main(string[] args) { List <OyunRakamlari> sayilar = new List <OyunRakamlari>(); Islemler islem = new Islemler(); for (int i = 0; i < 6; i++) { OyunRakamlari sayi = new OyunRakamlari(); if (i != 5) { sayi.Deger = islem.SayiIste(1, 10); sayi.KullanildiMi = false; } else { sayi.Deger = islem.SayiIste(30, 80); sayi.KullanildiMi = false; } sayilar.Add(sayi); } Islemler.sayiListesi = sayilar; StringBuilder sb = new StringBuilder(); Islemler.toplam = 0; var result = (from p in sayilar where p.KullanildiMi == false select p).ToList(); List <OyunRakamlari> gelenListe; int sayac = 0; while (result.Count > 0) { Islemler islem2 = new Islemler(); if (sayilar.Count == 0) { throw new Exception("Liste 0 geliyor."); } gelenListe = islem2.IkiSayiAl(sayilar); if (sayac == 0) { string islAdi = islem2.IslemAdiSec(); if (islAdi == "Çıkarma") { while (gelenListe[0].Deger <= gelenListe[1].Deger || gelenListe[0].Deger < 0 || gelenListe[1].Deger < 0) { gelenListe[0].KullanildiMi = false; gelenListe[1].KullanildiMi = false; Islemler.sayac--; gelenListe = islem2.IkiSayiAl(sayilar); } } else if (islAdi == "Çarpma") { while (gelenListe[0].Deger < 0 || gelenListe[1].Deger < 0) { gelenListe = islem2.IkiSayiAl(sayilar); } } Islemler.toplam = islem2.IslemYap(gelenListe[0].Deger, gelenListe[1].Deger, islAdi); sb.AppendLine(Islemler.toplamHesapSayaci++ + " . adim icin " + Islemler.toplam + " - "); string yapilanIslem = islem2.IslemAdi; } else { string islAdi = islem2.IslemAdiSec(); if (islAdi == "Toplama") { Islemler.toplam = islem2.IslemYap(Islemler.toplam, gelenListe[0].Deger, islAdi); sb.AppendLine(Islemler.toplamHesapSayaci++ + " . adim icin " + Islemler.toplam + " - "); } else if (islAdi == "Çıkarma") { if (islAdi == "Çıkarma") { while (Islemler.toplam <= gelenListe[0].Deger || gelenListe[0].Deger < 0) { int eskiDeger = gelenListe[0].Deger; gelenListe[0].KullanildiMi = false; gelenListe = islem2.IkiSayiAl(sayilar); if (gelenListe[0].Deger == eskiDeger) { while (islAdi == "Çıkarma") { islAdi = islem2.IslemAdiSec(); } } } } Islemler.toplam = islem2.IslemYap(Islemler.toplam, gelenListe[0].Deger, islAdi); sb.AppendLine(Islemler.toplamHesapSayaci++ + " . adim icin " + Islemler.toplam + " - "); } else if (islAdi == "Çarpma") { while (gelenListe[0].Deger < 0) { gelenListe[0].KullanildiMi = false; gelenListe = islem2.IkiSayiAl(sayilar); } Islemler.toplam = islem2.IslemYap(Islemler.toplam, gelenListe[0].Deger, islAdi); sb.AppendLine(Islemler.toplamHesapSayaci++ + " . adim icin " + Islemler.toplam + " - "); } } sayac++; result = (from p in sayilar where p.KullanildiMi == false select p).ToList(); } for (int i = 0; i < sayilar.Count; i++) { Console.WriteLine(i + 1 + ". sayi : " + sayilar[i].Deger); } Console.WriteLine("Sonuç: " + Islemler.toplam); for (int j = 0; j < 40; j++) { Console.WriteLine("*"); } Console.WriteLine("Toplam değerinin hesaplanma sonuçları - " + "\n" + sb.ToString()); Console.CursorTop = 0; Console.CursorLeft = 0; Console.CursorVisible = false; Console.Read(); }