30 Nisan 2013 Salı

C Sharp Uygulamalar Binom Açılımını Hesaplama ve Konsolda Gösterme



KONU : C Sharp Uygulamalar - C Sharp ( C# ) Konsol binom açılımı katsayılarını hesaplama ve konsol ekranına yazdırma.





UYGULAMAYI İNDİR



using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace C_Sharp_Binom_Acilim
{
    class Binom_Acilim
    {
        static void Main(string[] args)
        {

            // değişkenleri tanımlama, maksimum değeri int için 19 olmalı, long tipinde daha
            // büyük rakamlar elde edilebilir
            int maksimum = 19;
            int n;
            int devammi = 0;

            int[,] binom = new int[maksimum, maksimum];

            while (true)//sonsuz döngü, çıkılmak istenilene kadar devam et
            {
                //binom açılın dış kenar kat sayıları oluşturalım, üçgenin en dışındaki değerler
                //bu değerler binom açılımın bir alttaki terimlerini hesaplamak için gerekli
                for (int i = 0; i < maksimum - 1; i++)
                {
                    binom[i,0] = 1;
                    binom[i + 1, i + 1] = 1;
                }

                do
                {
                    Console.WriteLine("Binom acilimini gormek istediginiz sayiyi giriniz( " + maksimum + " değerinden kucuk olmali)\n<=");
                    n = int.Parse(Console.ReadLine());
                } while (n < 0 || n >= maksimum);//girilen sayıyı kontrol et, negatif olmamalı

                //binom açılımının ilk satırını ortaya yerleştirelim. Bunun için başına
                //orta noktaya gelene kadar boşluk koyalım
                for (int i = 0; i < 3 * n; i++)
                {
                    Console.Write(" ");
                }
                //ve binom açılım ilk değeri olan 1 i buraya yazalım
                Console.Write("{0,6:g}", 1);
                

                //bundan sonra kullanıcı kaçıncı terime kadar istemiş ise
                //sırayla bu terimleri konsol ekranına yazdıralım
                for (int k = 0; k < n; k++)
                {
                    //her satır bittiğinde bir satır aşağıya geçmek için
                    Console.Write("\n");
                    //kaçıncı satırda isek o satırı ilk yazdığımız 0. terime
                    //göre yerleştirelim
                    for (int i = 0; i < (n - k - 1) * 3; i++)
                        Console.Write(" ");


                    //buradada hangi satırdaki terimler hesaplanıyor ise
                    //bu terimleri üçgen şeklinde konsol ekranına yazalım
                    for (int j = 0; j <= k + 1; j++)
                    {
                        if (k + 1 == j || j == 0)
                            Console.Write("{0,6:g} ", 1);
                        else
                        {
                            binom[k + 1,j] = binom[k,j - 1] + binom[k,j];
                            Console.Write("{0,6:g} ", binom[k + 1, j]);
                        }
                    }
                }

                Console.Write("\n\nDevam etmek istiyorsaniz =>1\nCikmak istiyorsaniz =>0 basiniz.\n<=");
                devammi = int.Parse(Console.ReadLine());

                //Eðer çıkmak için 1 e basýlmýþsa loop dan break komutu ile çýkýlýr.
                if (devammi == 0)
                    break;
            }
        }
    }
}


/*
    Örnek kod çıktısı :
 * 
 * 
  Binom acilimini gormek istediginiz sayiyi giriniz( 19 degerinden kucuk olmali)
<=
4
                 1
              1      1
           1      2      1
        1      3      3      1
     1      4      6      4      1

Devam etmek istiyorsaniz =>1
Cikmak istiyorsaniz =>0 basiniz.
<=1
Binom acilimini gormek istediginiz sayiyi giriniz( 19 degerinden kucuk olmali)
<=
10
                                   1
                                1      1
                             1      2      1
                          1      3      3      1
                       1      4      6      4      1
                    1      5     10     10      5      1
                 1      6     15     20     15      6      1
              1      7     21     35     35     21      7      1
           1      8     28     56     70     56     28      8      1
        1      9     36     84    126    126     84     36      9      1
     1     10     45    120    210    252    210    120     45     10      1

Devam etmek istiyorsaniz =>1
Cikmak istiyorsaniz =>0 basiniz.
<=0

*/


UYGULAMAYI İNDİR

Hiç yorum yok :

Yorum Gönder