Arama butonu
Bu konudaki kullanıcılar: 1 misafir, 1 mobil kullanıcı
12
Cevap
1160
Tıklama
1
Öne Çıkarma
C'de Hatamı Bulamıyorum
T
9 yıl (1608 mesaj)
Yüzbaşı
Konu Sahibi

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;
}

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil





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

çok yardımcı oldunuz hocam teşekkür ederim.
Yoruma Git
tisuanzii - 9 yıl +4
A
9 yıl (2201 mesaj)
Binbaşı

Bu kod bir şey vermez zaten



< Bu ileti mobil sürüm kullanılarak atıldı >
Bu mesaja 1 cevap geldi.
T
9 yıl (1608 mesaj)
Yüzbaşı
Konu Sahibi

çok yardımcı oldunuz hocam teşekkür ederim.




Bu mesajda bahsedilenler: @alibeyindonanimhaberi
S
9 yıl (11137 mesaj)
Yarbay

a<sayi dersen a hiçbir zaman sayi'ya eşit olmaz zaten. a<=sayi demen lazım sanırım.


Bu mesaja 1 cevap geldi.
T
9 yıl (1608 mesaj)
Yüzbaşı
Konu Sahibi

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.


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Platinum IV
S
9 yıl (11137 mesaj)
Yarbay

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.



F
9 yıl (30571 mesaj)
Yarbay

Kod uzmanı arkadaşı çağırıyorum

@Lotus Expeditor




Bu mesajda bahsedilenler: @Lotus Expeditor
E
9 yıl (5890 mesaj)
Teğmen

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ı >
Bu mesaja 1 cevap geldi.
T
9 yıl (1608 mesaj)
Yüzbaşı
Konu Sahibi

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


Bu mesaja 1 cevap geldi.

Bu mesajda bahsedilenler: @Erich Fromm
E
9 yıl (5890 mesaj)
Teğmen

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ı >

S
9 yıl (12657 mesaj)
Binbaşı

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 mesaja 1 cevap geldi.
T
9 yıl (1608 mesaj)
Yüzbaşı
Konu Sahibi

Bu girilen indise kadar olan sayıları yazıyor hocam, yanlış anlamadıysam. Sorunu şimdi çözdüm zaten yine de teşekkür ederim.




Bu mesajda bahsedilenler: @I am Tony Montana
H
9 yıl (7540 mesaj)
Binbaşı

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 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.