- Katılım
- 3 Ocak 2014
- Mesajlar
- 433
- Tepkime puanı
- 2
- Puanları
- 0
Visual Studio Programında yeni bir consol uygulaması açıp alttaki kodlarımızı yazalım.Kodların yanında açıklama satırıyla açıklamasını yaptım. Yararlı olması dileğiyle...
Kod:
using System;using System.Collections.Generic;using System.Text;namespace pasgalucgen{ class Program { static void Main(string[] args) { int x, y; // x ve y adlı integer tipinde değişken tanımlıyoruz. string k = "", h = ""; // buradada boşukları yazdırmak için k ve h adında değişken tanımlaması yapıyoruz. Console.Write("Basamak sayısını girin:"); // pascal üçgenini dışarıdan girilecek basamak sayısına göre oluşturmak için dışarıdan bir sayı girişi istiyoruz. x = Convert.ToInt32(Console.ReadLine()); // x değişkenine dışarıdan girilen değeri atadık. int[] m = new int[x]; // daha sonra m adında int tipinde bir dizi tanımlayıp bunun boyutunu x'e eşitliyoruz. for (int g = 1; g <= x; g++) k += " "; // ilk olarak üçgenin kaçtane satırı yazılacak, yani kaç basamaklı ise o kadar döngümüzü çalıştırıyoruz. if (x == 1) Console.Write("{0} 1", k); // eğer girilen değer dışarıdan 1 ise sadece 1 yazacak if (x == 2) Console.Write("{0}1n 1 1", k); //girilen değer 2 ise 1 -1 1 yazacak bir nevi 1 ve 2 için kontrol yaptık k = ""; if (x > 2) // 2 den büyükse eğer basamak sayısı o zaman hesaplamaları yapacağız. { for (int g = x; g >= 0; g--) h += " "; // döngünün başlanğıç değeri x den başlar 0'a kadar azalarak 1 yazar tabi üçgenin en baş tarafı dikkat ettiysek hep 1 rakamı ile başlıyor onun için. dizinin 0.indisi Console.WriteLine("{0}1", h); // dışarıdan girilen basamak sayısı 5 ise 5 tane alt alta 1 yazar. h = ""; for (int g = x; g >= 1; g--) h += " "; // buradada 0 indise gene 1 1 değerini atıyoruz ikinci satır. Console.WriteLine("{0}1 1", h); h = ""; m[0] = 1; // m dizisinin 0.ve 1.indir değerlerini 1'e eşitliyoruz. m[1] = 1; for (int i = 2; i < x; i++) // 2den başlayıp basamak sayısına kadar işleyen döngü. { int[] m1 = new int[i]; // döngüdeki her i degerini m1 dizisine aktar. for (y = 1; y < i; y++) // 1 den başlayıp i nin o andaki değerine kadar dön { m1[y] = m[y] + m[y - 1]; // ve burada gerekli işlemi yap. yani kendi değeri ile kendinden bir önceki değeri toplayıp m1 dizisindeki y indisinin yeni değeri olmuş oluyor. k = k + " " + m1[y].ToString(); // k nın yeni değeri de yeni hesaplanan y değeri ile k nın bir önceki değeri, tabi en başında boşluk bırakarak yaz. } for (y = 1; y < i; y++) // Döngü 1 den başlayıp i nin değerine kadar döner amaç m dizisine m1 dizisinin değerini yüklemek { m[y] = m1[y]; // burada m dizisindeki y nin yeni değeri m1 dizisindeki değere eşit oluyor. } m[i] = 1; // i nin dizideki değerini 1'e eşitle son indis için yazarken. for (int g = x; g >= i; g--) h += " "; // ve bu döngü ilede hesaplanan değerleri ekrana yazdıralım Console.WriteLine("{1}1{0} 1", k, h); h = ""; k = ""; } } Console.ReadKey(); // burada consol ekranının kapanmaması için } }}
Kod:
using System;using System.Collections.Generic;using System.Text;namespace pasgalucgen{ class Program { static void Main(string[] args) { int x, y; // x ve y adlı integer tipinde değişken tanımlıyoruz. string k = "", h = ""; // buradada boşukları yazdırmak için k ve h adında değişken tanımlaması yapıyoruz. Console.Write("Basamak sayısını girin:"); // pascal üçgenini dışarıdan girilecek basamak sayısına göre oluşturmak için dışarıdan bir sayı girişi istiyoruz. x = Convert.ToInt32(Console.ReadLine()); // x değişkenine dışarıdan girilen değeri atadık. int[] m = new int[x]; // daha sonra m adında int tipinde bir dizi tanımlayıp bunun boyutunu x'e eşitliyoruz. for (int g = 1; g <= x; g++) k += " "; // ilk olarak üçgenin kaçtane satırı yazılacak, yani kaç basamaklı ise o kadar döngümüzü çalıştırıyoruz. if (x == 1) Console.Write("{0} 1", k); // eğer girilen değer dışarıdan 1 ise sadece 1 yazacak if (x == 2) Console.Write("{0}1n 1 1", k); //girilen değer 2 ise 1 -1 1 yazacak bir nevi 1 ve 2 için kontrol yaptık k = ""; if (x > 2) // 2 den büyükse eğer basamak sayısı o zaman hesaplamaları yapacağız. { for (int g = x; g >= 0; g--) h += " "; // döngünün başlanğıç değeri x den başlar 0'a kadar azalarak 1 yazar tabi üçgenin en baş tarafı dikkat ettiysek hep 1 rakamı ile başlıyor onun için. dizinin 0.indisi Console.WriteLine("{0}1", h); // dışarıdan girilen basamak sayısı 5 ise 5 tane alt alta 1 yazar. h = ""; for (int g = x; g >= 1; g--) h += " "; // buradada 0 indise gene 1 1 değerini atıyoruz ikinci satır. Console.WriteLine("{0}1 1", h); h = ""; m[0] = 1; // m dizisinin 0.ve 1.indir değerlerini 1'e eşitliyoruz. m[1] = 1; for (int i = 2; i < x; i++) // 2den başlayıp basamak sayısına kadar işleyen döngü. { int[] m1 = new int[i]; // döngüdeki her i degerini m1 dizisine aktar. for (y = 1; y < i; y++) // 1 den başlayıp i nin o andaki değerine kadar dön { m1[y] = m[y] + m[y - 1]; // ve burada gerekli işlemi yap. yani kendi değeri ile kendinden bir önceki değeri toplayıp m1 dizisindeki y indisinin yeni değeri olmuş oluyor. k = k + " " + m1[y].ToString(); // k nın yeni değeri de yeni hesaplanan y değeri ile k nın bir önceki değeri, tabi en başında boşluk bırakarak yaz. } for (y = 1; y < i; y++) // Döngü 1 den başlayıp i nin değerine kadar döner amaç m dizisine m1 dizisinin değerini yüklemek { m[y] = m1[y]; // burada m dizisindeki y nin yeni değeri m1 dizisindeki değere eşit oluyor. } m[i] = 1; // i nin dizideki değerini 1'e eşitle son indis için yazarken. for (int g = x; g >= i; g--) h += " "; // ve bu döngü ilede hesaplanan değerleri ekrana yazdıralım Console.WriteLine("{1}1{0} 1", k, h); h = ""; k = ""; } } Console.ReadKey(); // burada consol ekranının kapanmaması için } }}