Şimdi Ara

C'de Hatamı Bulamıyorum

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
1 Misafir - 1 Masaüstü
5 sn
13
Cevap
0
Favori
844
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
1 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba, yanlış yere açtığımı biliyorum ama kısa süre içinde yardıma ihtiyacım var.
    İndisi girilen fibonacci elemanını ekran yazan C programı isteniyor. Program çalışıyor ama ekrana hangi değeri yazarsam yazayım sonuç vermiyor.
    Yazdığım kod şu şekilde;

    #include <iostream>

    int main() {

    int sayi;
    scanf("%d", &sayi);
    int i=0;
    int j=1;



    for(int a=2; a<sayi; a++){

    i==j;
    j+=i;

    if(sayi==a)
    printf("%d", j);



    }



    return 0;
    }


    Edit:

    Saçmalarken sorunu çözdüm yardımcı olanlara teşekkür ederim. Merak eden olursa çözümü şu şekilde oluyor.

    int main() {

    int sayi;
    scanf("%d", &sayi);
    int i=0, j=1, k=0;

    if(sayi==1)
    printf("%d", i);

    if(sayi==2)
    printf("%d", j);

    for(int a=3; a<=sayi; a++){

    k=i+j;
    i=j;
    j=k;

    if(sayi==a)
    printf("%d", j);

    }

    return 0;
    }



    < Bu mesaj bu kişi tarafından değiştirildi tisuanzii -- 3 Aralık 2017; 19:15:51 >







  • Bu kod bir şey vermez zaten

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • alibeyindonanimhaberi A kullanıcısına yanıt
    çok yardımcı oldunuz hocam teşekkür ederim.
  • a<sayi dersen a hiçbir zaman sayi'ya eşit olmaz zaten. a<=sayi demen lazım sanırım.
  • Bu sefer de ekrana sadece 1 yazıyor. Ama dediğinizi anladım eşit olduğunda looptan çıktığı için if'i zaten hiçbir zaman okumuyormuş. Teşekkür ederim.
  • quote:

    Orijinalden alıntı: tisuanzii

    Bu sefer de ekrana sadece 1 yazıyor. Ama dediğinizi anladım eşit olduğunda looptan çıktığı için if'i zaten hiçbir zaman okumuyormuş. Teşekkür ederim.

    Ben de çok hatırlamıyorum da "fibonacci in c" diye aratırsanız bir sürü örnek verir google'da.
  • Kod uzmanı arkadaşı çağırıyorum

    @Lotus Expeditor
  • Saat 10a kadar yapamazsan bakıp kodları atabilirim hocam şu an unuttum 2 sene oldu bakmayalı, programı indirip deneyip bulup sana atabilirim.

    < Bu ileti mini sürüm kullanılarak atıldı >
  • Erich Fromm kullanıcısına yanıt
    Çok teşekkür ederim hocam. Eğer yapamazsam ben size gece pm atarım.
  • quote:

    Orijinalden alıntı: tisuanzii

    Çok teşekkür ederim hocam. Eğer yapamazsam ben size gece pm atarım.

    Tamamdır ben unutmamak için hatırlatıcı kuruyorum siz konuyu güncellerseniz (9.30 gibi) sevinirim. :) bilgisayar babamda olacak çünkü o saate kadar :(

    < Bu ileti mini sürüm kullanılarak atıldı >
  • int main()

    {

    int n, first = 0, second = 1, next, c;



    printf("Enter the number of terms\n");

    scanf("%d",&n);



    printf("First %d terms of Fibonacci series are :-\n",n);



    for ( c = 0 ; c < n ; c++ )

    {

    if ( c <= 1 )

    next = c;

    else

    {

    next = first + second;

    first = second;

    second = next;

    }

    printf("%d\n",next);

    }



    return 0;

    }

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • Bu girilen indise kadar olan sayıları yazıyor hocam, yanlış anlamadıysam. Sorunu şimdi çözdüm zaten yine de teşekkür ederim.
  • buda matrix exponentiation kullanarak O(log n) complexity ile n. fibonacciyi (mod 10^9+7)bulan kod
    #include <cstdio>
    #define MD 1000000007LL
    typedef long long ll;
    using namespace std;
    typedef struct mtt{
    ll a[2][2];
    }mt;
    ll n;

    mt mut(mt a,mt b){
    mt c={(a.a[0][0]*b.a[0][0]+a.a[0][1]*b.a[1][0])%MD,(a.a[0][0]*b.a[0][1]+a.a[0][1]*b.a[1][1])%MD,
    (a.a[1][0]*b.a[0][0]+a.a[1][1]*b.a[1][0])%MD,(a.a[1][0]*b.a[1][0]+a.a[1][1]*b.a[1][1])%MD};
    return c;
    }

    mt fp(mt a,ll k){
    mt a1={1,0,0,1};
    if(k==0)return a1;
    mt cc=fp(a,k/2);
    if(k%2)return mut(mut(cc,cc),a);
    else return mut(cc,cc);
    }

    ll f(ll n){
    mt a={1,1,1,0};
    mt c=fp(a,n);
    return c.a[0][0];

    }

    int main() {
    scanf("%lld",&n);
    n--;
    printf("%lld
    ",f(n));
    return 0;}



    < Bu mesaj bu kişi tarafından değiştirildi hynx -- 3 Aralık 2017; 20:33:0 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.