Hızlı Konu Açma

Hızlı Konu Açmak için tıklayınız.

Son Mesajlar

Konulardaki Son Mesajlar

Reklam

Forumda Reklam Vermek İçin Bize Ulaşın

C# 'da Pascal Üçgeni Yapalım

Makromarket

Fahri Üye
Fahri Üye
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 } }}
 

Users Who Are Viewing This Konu (Users: 0, Guests: 1)

Üst