// verilen noktalar ile ucgen olusturulup olusturulamayacagini kontrol eder public bool UcgenKontrol(Nokta p1, Nokta p2, Nokta p3) { double uz1 = p1.Uzaklik(p2); double uz2 = p2.Uzaklik(p3); double uz3 = p3.Uzaklik(p1); return(((uz3 < uz1 + uz2) && (uz2 < uz1 + uz3) && (uz1 < uz2 + uz3)) ? true : false); }
// kenarlar esitse 'eskenar', iki kenar esit digeri farkli ise 'ikizkenar', hepsi farkli ise 'cesitkenar' ucgen yazar public string UcgenTipi() { if (p1.Uzaklik(p2) == p2.Uzaklik(p3) && p2.Uzaklik(p3) == p3.Uzaklik(p1) && p3.Uzaklik(p1) == p1.Uzaklik(p2)) { return("eskenar"); } else if (p1.Uzaklik(p2) == p2.Uzaklik(p3) || p2.Uzaklik(p3) == p3.Uzaklik(p1) || p3.Uzaklik(p1) == p1.Uzaklik(p2)) { return("ikizkenar"); } else if (p1.Uzaklik(p2) != p2.Uzaklik(p3) && p2.Uzaklik(p3) != p3.Uzaklik(p1) && p3.Uzaklik(p1) != p1.Uzaklik(p2)) { return("cesitkenar"); } return(null); }
static void Main(string[] args) { /** * NOKTA DEMO */ Console.WriteLine("\n======= NOKTA DEMO =======\n"); Nokta n1 = new Nokta(0, 0); Nokta n2 = new Nokta(); Nokta n3 = new Nokta(1, 0); Console.WriteLine("\n# ToString Demo\n"); Console.WriteLine(n1.NoktaString()); // Nokta(0, 0) Console.WriteLine(n2.NoktaString()); // Nokta(0, 0) Console.WriteLine(n3.NoktaString()); // Nokta(1, 0) Console.WriteLine("\n# Uzaklik Demo\n"); Console.WriteLine("n1 - n2 arasi uzaklik: " + n1.Uzaklik(n2)); // 0 olmasi gerekiyor Console.WriteLine("n1 - n3 arasi uzaklik: " + n1.Uzaklik(n3)); // 1 olmasi gerekiyor /** * UCGEN DEMO */ Console.WriteLine("\n======= UCGEN DEMO =======\n"); Console.WriteLine("\n# Ucgen Olusturma Demo\n"); Ucgen u1 = new Ucgen(n1, n2, n3); // default noktalar ile olusur ve uyari verir Ucgen u2 = new Ucgen(0, 0, 0, 3, 4, 0); // 3, 4, 5 ucgeni olusturacak Console.WriteLine("\n# ToString Demo\n"); Console.WriteLine(u1.UcgenString()); // ucgen bilgilerini yazar Console.WriteLine("\n"); Console.WriteLine(u2.UcgenString()); // ucgen bilgilerini yazar Console.WriteLine("\n# Cevre Demo\n"); Console.WriteLine(u2.CevreHesapla()); // u2 ucgenindeki bilgiler icindeki cevre ile ayni sonucu vermesi gerekiyor /** * KARE DEMO */ Console.WriteLine("\n======= KARE DEMO =======\n"); Kare k1 = new Kare(0, 0, 3, 2); // default noktalar ile olusmasi gerekiyor Kare k2 = new Kare(new Nokta(0, 3), new Nokta(3, 0)); Console.WriteLine("\n# ToString Demo\n"); Console.WriteLine(k1.KareString()); Console.WriteLine("\n"); Console.WriteLine(k2.KareString()); /** * KARMASIK SAYI DEMO */ Console.WriteLine("\n======= KARMASIK SAYI DEMO =======\n"); KarmasikSayi ks1 = new KarmasikSayi(); // 0 + 0i olarak olusturur KarmasikSayi ks2 = new KarmasikSayi(5, 7); // 5 + 7i olarak olusturur KarmasikSayi ks3 = new KarmasikSayi(-9, -12); // -9 + (-12)i olarak olusturur KarmasikSayi ks4 = new KarmasikSayi(5, 7); // 5 + 7i olarak olusturur KarmasikSayi ks12temp = ks1 - ks2; // -5 + (-7)i olmasi gerekiyor KarmasikSayi ks13temp = ks1 + ks3; // -9 + (-12)i olmasi gerekiyor KarmasikSayi ks3dbl = ks3 + 16; // 7 + (-12)i olmas gerekiyor Console.WriteLine(ks12temp.KarmasikSayiString()); Console.WriteLine(ks13temp.KarmasikSayiString()); Console.WriteLine(ks3dbl.KarmasikSayiString()); if (ks2 == ks4) { Console.WriteLine("{0} ile {1} birbirine esittir", ks2.KarmasikSayiString(), ks4.KarmasikSayiString()); } /** * RECURSIVE FUNCTION DEMO */ Console.WriteLine("\n======= RECURSIVE FUNCTION DEMO =======\n"); int[] arr = new int[] { 1, 2, 3, 4, 5, 6 }; if (RecursiveMetotX(arr, 5)) { Console.WriteLine("5 bulundu"); } if (RecursiveMetotX(arr, 88)) { Console.WriteLine("YAZILMAYACAK"); } if (RecursiveMetotY(arr, 5, arr.Length - 1)) { Console.WriteLine("5 bulundu"); } if (RecursiveMetotY(arr, 88, arr.Length - 1)) { Console.WriteLine("YAZILMAYACAK"); } Console.ReadLine(); // ctrl + f5 ile calistirilmadiginda console ciktisini gorebilmek icin ekledim. }