C Programlama ile Pascal üçgeni yapalım

C dili hakkında bilgiler, kaynaklar, dokümanlar ve örneklerin bulunduğu bölümümüz.
Cevapla
Kullanıcı avatarı
admin
Sistem Geliştiricisi
Sistem Geliştiricisi
Mesajlar: 832
Kayıt: 28 Ağu 2022 04:38
Konum: Database
Meslek: Teknisyen
Teşekkür etti: 456 kez
Teşekkür edildi: 308 kez
İletişim:

C Programlama ile Pascal üçgeni yapalım

Mesaj 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ü
Daha zeki olmanın tek yolu, daha zeki bir rakiple oynamaktır.

Etiketler:
Kullanıcı avatarı
admin
Sistem Geliştiricisi
Sistem Geliştiricisi
Mesajlar: 832
Kayıt: 28 Ağu 2022 04:38
Konum: Database
Meslek: Teknisyen
Teşekkür etti: 456 kez
Teşekkür edildi: 308 kez
İletişim:

Re: C Programlama ile Pascal üçgeni

Mesaj 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ü
Daha zeki olmanın tek yolu, daha zeki bir rakiple oynamaktır.
Kullanıcı avatarı
admin
Sistem Geliştiricisi
Sistem Geliştiricisi
Mesajlar: 832
Kayıt: 28 Ağu 2022 04:38
Konum: Database
Meslek: Teknisyen
Teşekkür etti: 456 kez
Teşekkür edildi: 308 kez
İletişim:

Re: C Programlama ile Pascal üçgeni

Mesaj 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
Daha zeki olmanın tek yolu, daha zeki bir rakiple oynamaktır.
Cevapla

“C Programlama” sayfasına dön