Girdiginiz sayının permutasyonunu bulan program

Bu konuyu okuyanlar

NeverTellLie

Öğrenci
Katılım
14 Nisan 2017
Mesajlar
56
Reaksiyon puanı
2
Puanları
8
Yaş
28
#include <stdio.h>
#include <locale.h>
int faktoriyel_hesapla(int);
int permutasyon_hesapla(int,int);
int main()
{
int sayi,sayi2;
setlocale(LC_ALL,"");
printf("Permutasyonu hesaplanacak sayıyı giriniz:");
scanf("%d",&sayi);
printf("Girdiğiniz sayının kaçlı permutasyonu bulunacak? Lütfen bir değer giriniz:");
scanf("%d",&sayi2);
printf("\nGirdiğiniz değerlere göre işlemin sonucu %d dir.",permutasyon_hesapla(sayi,sayi2));
return 0;
}
int faktoriyel_hesapla(int sayi)
{
int fakt=1;
for(int i=1;i<=sayi;i++)
{
fakt *=i;
}
return (fakt);
}

int permutasyon_hesapla(int sayi, int sayi2)
{
int sonuc;
sonuc=faktoriyel_hesapla(sayi)/faktoriyel_hesapla(sayi-sayi2);
return (sonuc);
}
Selamlar:) Girdiğimiz sayının permutasyonunu bulan bir program yazdım program doğru çalışıyor bir çok değerde fakat 20'nin 1 li permutasyonunu bulmasını istediğimde -19 sonucunu veriyor.40'ın 2li permütasyonunu istediğimde program çalışmayı durdurdu diyor.30'un 3lüsünde de sonuca 0 diyor.Bu yanlış sonuçların sebebi nedir nerelerde hata yaptım:(:(:)
 

NeverTellLie

Öğrenci
Katılım
14 Nisan 2017
Mesajlar
56
Reaksiyon puanı
2
Puanları
8
Yaş
28
Ne kadar uğraşırsam uğraşayım dev-c/c++'da debugging yapamadım ya çıldırtıcak bu program beni:mad::mad::mad:
 
Üst