Şimdi Ara

C'de permütasyon hesabı

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
2.100
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhabalar, C dersinde hocam ödev olarak n'nin r'li permütasyonunu alacak bir fonksiyon yazmamızı istiyor, n'i ve r'yi birer pointer olarak düşünmemizi ve değerini ana programda girmemizi istiyor.

    Ayrıca derste yaptığımız küçük bir faktöriyel uygulaması vardı, bunu kullanmamızı da istiyor

    faktöriyel uygulamamız;
     
    float fakt (int n)
    {
    float f; int i;
    f=1;
    for(i=1;i<=n;i++)
    f=f*i;
    return f;
    }


    Bu yazdıklarıma bağlı kalarak şöyle bir program yazmaya çalıştım, fakat klavyeden değer girdikten sonra program hata mesajı verip kapanıyor, nasıl bir hata yaptım bulamadım

     
    #include <stdio.h>

    void permutit (int *nPtr, int *rPtr)
    {
    int Q; float f1; float f2; int i;

    for(i=1;i<=*nPtr;i++)
    {
    f1=f1*i;
    }

    for(i=1;i<=(*nPtr-*rPtr);i++)
    {
    f2=f2*i;
    }

    Q=f1/f2;

    printf("Permutation of %d with %d is %f...\n",*nPtr,*rPtr,Q);

    }

    int main()
    {
    int a,b;
    int P;

    printf("give the x and y integers in P(x,y) in order: ");
    scanf("%d %d",a,b);
    permutit(a,b);

    system ("pause");
    return 0;
    }



    Pointer bilgimde eksiklikler var, bana yardım edebilirseniz sevinirim :)







  • #include <stdio.h>

    void permutit (int *nPtr, int *rPtr)
    {
    int Q; float f1 = 1.0; float f2 = 1.0; int i;

    for(i=1;i<=*nPtr;i++)
    {
    f1=f1*i;
    }

    for(i=1;i<=(*nPtr-*rPtr);i++)
    {
    f2=f2*i;
    }

    Q=f1/f2;

    printf("Permutation of %d with %d is %f...\n",*nPtr,*rPtr,Q);

    }

    int main()
    {
    int a,b;
    int P;

    printf("give the x and y integers in P(x,y) in order: ");
    scanf("%d %d",&a,&b);
    permutit(&a,&b);


    system ("pause");
    return 0;
    }

    Edit:http://www.cplusplus.com/doc/tutorial/pointers/ Reference operator kısmı ( & ) işaretlerinin ne demek olduğunu anlatıyor.



    < Bu mesaj bu kişi tarafından değiştirildi leventg -- 1 Ocak 2012; 20:40:11 >




  • quote:

    Orijinalden alıntı: leventg

    scanf("%d %d",&a,&b);
    permutit(&a,&b);



    burda a ve b nin önüne neden & koydukki.Direk a,b yazılması gerekmiyormuydu.
  • Arkadaşın permutit fonksiyonu parametre olarak pointerlar almış.
  • Yapay Zeka’dan İlgili Konular
    C++ Basit Bir Soru
    12 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.