Faktöriyel, Permütasyon ve Kombinasyon

3 Aralık 2011 by B.Selçuk ÖKSÜZ | Okunma Sayısı: 939
Leave a reply »
WP Greet Box icon
Merhaba! Selcukoksuz.com adresine hoş geldiniz. Eğer yeni iseniz ve içeriğimizi takip etmek isterseniz RSS Abonesi Olabilirsiniz.
Mailinize onay mesajı gönderilecektir. Cevaplamayı unutmayınız.

C++ derslerine uzun süredir ara vermiştim. Bana gelen bir istek üzerine tekrardan küçük bir program yazdım. Tahminimce bir çok arkadaşa lazım olabilecek bir program olabilir. Çünkü içersinde fonksiyon kullanımı, gibi yapısal kodlamalar da mevcut.

Bu programımız kullanıcıdan aldığı iki sayının tek tek faktöriyelini bulduktan sonra, bu sayıların permütasyonunu ve kombinasyonunu hesaplayıp ekrana yazdırmaktadır. Kod içerisinde açıklamalar mevcuttur. Eğer aklınıza takılan bir şey olursa sorularınızı beklerim.

İyi çalışmalar dilerim…

Program ekran görüntüsü;

Faktor-Permutasyon-Kombinasyon

Uygulama: , , hesaplama

Amaç: Matematiksel terimlerin kodlamaya dökülmesi, fonksiyon kullanımı, döngüler

Dil: C++

Program: DevC++

Kodlar:

//Standar kütüphaneler atanıyor
#include <iostream> 
#include <stdlib.h>
#include <conio.h>

//Fonksiyon tanımlamaları yapılıyor
int faktor(int x);
double per(int x,int y);
double kom(int x,int y);

//main dizini açılarak kodlamaya başlıyoruz.
int main(void)
{    
    int a,b,i;//Değişken tanımlamalarımız
    printf("Bir rakam giriniz : "); scanf("%d",&a);
    printf("Ikinci rakami giriniz : "); scanf("%d",&b);    

    printf("\nGirdiginiz sayilarin( %d\t, %d )\n______________________________\n",a,b);
    //Fonksiyonların kullanımı
    printf("\nFaktoriyeli = %d\tve\t%d dir",faktor(a),faktor(b));
    printf("\nPermutasyonu (%d,%d) = %f dir",a,b,per(a,b));
    printf("\nKombinasyonu (%d,%d) = %f dir",a,b,kom(a,b));        

    printf("\n\n\n______________________________");
    printf("\nDaha fazla ornek ve ders icin\n\t\tblog.selcukoksuz.com\nadresini ziyaret edin.\n\n");
    system("pause");
}

//Fonksiyonların içerikleri

int faktor(int x)//faktoriyel fonksiyonu
{
    int z,faktor=1;
     for(z=1;z<=x;z++)
    {
         faktor = faktor * z;                 
    }   
    return faktor;
}

double per(int x,int y)//permütasyon fonk.   n!/(n-r)!
{ 
    int z,b,k;
    double per;
    if(x>y) {b=x; k=y; } else  {b=y; k=x; }//büyük küçük sayı hangisi belirleniyor
    per = faktor(b)/faktor(b-k);
    return per;
}

double kom(int x,int y)//kombinasyon fonk.   n!/r!(n-r)!
{ 
    int z,b,k;
    double kom;
    if(x>y) {b=x; k=y; } else  {b=y; k=x; }//büyük küçük sayı hangisi belirleniyor
    kom = faktor(b)/faktor(b)*faktor(b-k);
    return kom;
}

j

Sayfada hata mı var? Yoksa bir düşünceniz mi var?

Yazar Hakkında

Bilgisayarla yaşamayı bir tarz olarak benimsemiş, teknoloji ile tamamen içli dışlı bir; web tasarımcı, yazılımcı, donanımcı, blog yazarı ve bilgisayar mühendisidir.
B.Selçuk ÖKSÜZ
B.Selçuk ÖKSÜZ kullanıcısının tüm yazıları.
Advertisement

Bu Yazıyı Beğendiniz Mi?

0
Gizlilik Hakları