1. sayfa (Toplam 1 sayfa)

C Programlama ile Pascal üçgeni yapalım

Gönderilme zamanı: 08 Oca 2023 10:31
gönderen admin
Pascal üçgeni ; Matematikte binom katsayılarını içeren üçgensel bir dizidir. Fransız matematikçi Blaise Pascal'ın soyadıyla anılsa da Pascal'dan önce Hindistan, İran, Çin, Almanya ve İtalya'da matematikçiler tarafından çalışılmıştır. Ömer Hayyam tarafından oluşturulmuştur.

Genellikle Pascal üçgeninin satırları üstten n=0'dan başlayarak numaralandırılır ve her satırdaki sayılar ise soldan itibaren k=0'dan başlayarak numaralandırılırlar. Satırdaki sayılar komşu sütunlarının boşluklarına gelir ve bu basit yapı tüm üçgen boyunca sürer. 0. satıra yalnızca 4 değeri yazılır. Sonraki satırlar oluşturulurken, hesaplanan noktanın sol üstünde ve sağ üstünde bulunan değerler çıkarılır. Eğer sağ ve sol üsttünde sayı yoksa buradaki değer 1 olarak alınır. Örneğin, ilk satırın ilk sayısı 0 + 1 = 1'dir üçüncü satırda ise 4 ve 3 toplanarak 4. satırdaki 7 sayısını oluşturur.
Kaynak kodumuz :

Kod: Tümünü seç

#include <stdio.h>
 
long factorial(int);
 
int main()
{
  int i, n, c;
 
  printf("Pascal ucgeninde kac adet satir yazdirilacagini giriniz\n");
  scanf("%d",&n);
 
  for (i = 0; i < n; i++)
  {
    for (c = 0; c <= (n - i - 2); c++)
      printf(" ");
 
    for (c = 0 ; c <= i; c++)
      printf("%ld ",factorial(i)/(factorial(c)*factorial(i-c)));
 
    printf("\n");
  }
 
  return 0;
}
 
long factorial(int n)
{
  int c;
  long result = 1;
 
  for (c = 1; c <= n; c++)
    result = result*c;
 
  return result;
}
Açıklaması :

Bu C programı, belirli sayıda satır içeren bir Pascal üçgeni oluşturur. Bir Pascal üçgeni, aşağıdaki formül kullanılarak hesaplanan iki terimli katsayıların üçgen dizisidir:

C(n,k) = n! / (k! * (n-k)!)

burada n satır numarası ve k sütun numarasıdır. Program, belirli bir sayının faktöriyelini hesaplayan faktör fonksiyonunu kullanarak binom katsayılarını hesaplar. Faktöriyel fonksiyon özyinelemeli bir fonksiyondur, yani bir sayının faktöriyelini hesaplamak için kendisini çağırır.

Program önce kullanıcıdan Pascal üçgenindeki satır sayısını girmesini ister. Daha sonra üçgeni oluşturmak için iç içe bir döngü kullanır. Dış döngü, üçgenin satırları boyunca yinelenir ve iç döngü, her satırın sütunları arasında yinelenir. Program, faktöriyel fonksiyonu kullanarak üçgendeki her konum için binom katsayısını hesaplar ve ekrana yazdırır.

Resim
derlenmiş hali ekran görüntüsü

Re: C Programlama ile Pascal üçgeni

Gönderilme zamanı: 11 Oca 2023 21:31
gönderen admin
Aynı işlemi farklı bir yöntemle yapan bir başka c programı kaynak kodları aşağıda.

Kod: Tümünü seç

#include <stdio.h>

int main()
{
    const int SIZE = 10;
    int previous[SIZE], current[SIZE], i, j, t;


    for (i = 0; i < SIZE; i++)
    {
        for (j = 0; j <= i; j++)
        {
            if (j == i || j == 0)
            {
                current[j] = 1;
            }
            else
            {
                current[j] = previous[j] + previous[j - 1];
            }
        }
        /* Print starting space of triangle */
        for (t = SIZE; t > i; t--)
        {
            printf(" ");
        }


        for (t = 0; t <= i; t++)
        {
            printf("%3d", current[t]);
            /* current array is copied to previous */
            previous[t] = current[t];
        }

        printf("\n");
    }
}

Resim
derlenmiş hali ekran görüntüsü

Re: C Programlama ile Pascal üçgeni

Gönderilme zamanı: 12 Oca 2023 13:51
gönderen admin
Farklı bir örnek kod ;

Kod: Tümünü seç

#include <stdio.h>

void main()
{
    int no_row,c=1,blk,i,j;
    printf("Input number of rows: ");
    scanf("%d",&no_row);
    for(i=0;i<no_row;i++)
    {
        for(blk=1;blk<=no_row-i;blk++)
        printf("  ");
        for(j=0;j<=i;j++)
        {
            if (j==0||i==0)
                c=1;
            else
               c=c*(i-j+1)/j;
            printf("% 4d",c);
        }
        printf("\n");
    }
}
Örneğin akış diyagramı :

Resim