#include <iostream> #include<conio.h> using namespace std; int main() { int i=0,sayi; int faktor=1; cout<<"faktoriyeli alinacak sayiyi giriniz:"<<"\t\n"; cin>>sayi; while(i<=sayi) { i++; faktor=faktor*i; } cout<<"sonuc="<<faktor<<endl; getch(); return 0;
sayının faktörüyelini alan c++ programını yazdım sonunda galiba öğrenmeye başlıyorum.Bunu daha fazla nasıl geliştirebilirim bi bakarsanız sevinirim...
güzel şimdi bunu bir fonksiyon yap. fonksiyona sayıyı parametre gir, o da geri faktoriyelini dönsün.
ne yapacam hiç bişey anlamadım biraz açarmısın...
quote:
Orjinalden alıntı: mavilider
ne yapacam hiç bişey anlamadım biraz açarmısın...
Arkadas sunu soylemek istiyo...bu program sadece main fonksiyonundan olusuyo...simdi buna baska bir fonksiyon yaz....o fonksiyona faktoriyelini bulmak istedigin sayiyi parametre olarak gonder...o fonksiyon da o sayinin faktoriyelini dondursun...ve bunu da main fonksiyonunda bastir...
ben onu asla yapamam bi zahmet bi el atında bende öğreneyim...
#include<stdio.h> int main() { unsigned int number; unsigned int result; printf("Enter a positive integer\n"); scanf("%d",&number); result=factorial(number); printf("The result is %d\n",result);
return 0; }
int factorial(unsigned int n) { if(n==1 || n==0) return 1; else return n * factorial(n-1); }
quote:
Orjinalden alıntı: mavilider
ben onu asla yapamam bi zahmet bi el atında bende öğreneyim...
yapacağın işlem çok basit while döngüsünü alıp ayrı bir fonksiyona koyacaksın.
#include <iostream> #include<conio.h> using namespace std; int main() { int sayi; int faktor=1; cout<<"faktoriyeli alinacak sayiyi giriniz:"<<"\t\n"; cin>>sayi; faktor=faktoriyel(sayi); cout<<"sonuc="<<faktor<<endl; getch(); return 0; }
satırı geldi. burada faktoriyel isimli fonksiyonu çağırıyoruz ve parametre olarak sayi değişkenini gönderiyoruz. Fonksiyonun içinde while döngüsü çalışıyor ve hesaplanan sonuç return deyimi ile geri döndürülüyor. peki bu bize ne kazandırıyor? bu sayede tekrar tekrar kod yazmaktan kurtulmuş oluyoruz. mesela iki ayrı sayının faktoriyelini hesaplayıp toplamak için
faktoriyel(x) + faktoriyel(y)
yazmak yeterli, ya da bir sayının faktoriyelinin faktoriyelini almak için
faktoriyel(faktoriyel(x))
yazabiliriz. Sum 41 arkadaş recursive fonksiyon yazmış ama şu aşamada biraz erken gibi geldi bana. iyi çalışmalar, kolay gelsin..
yeni mesaja git
Yeni mesajları sizin için sürekli kontrol ediyoruz, bir mesaj yazılırsa otomatik yükleyeceğiz.Bir Daha Gösterme