Revision: 54241
Updated Code
at December 16, 2011 09:02 by sleepnir
Updated Code
#include <stdio.h>
/*
Fibonacci Dizisi oluşturmak için kullanacağımız fonksiyonu yazıyoruz.
Bu fonksiyon n. Fibonacci sayısına kadar olan diziyi ekrana yazdıracak.
Bu fonksiyon geriye hiçbir değer döndürmeyeceği için void olarak tanımlıyoruz.
*/
void FibonacciDizisi(int diziUzunlugu) {
int a,b,c,sayac;
/*a'ya -1'i b'ye 1'i atıyoruz.
Bunu neden yaptığımıza gelirsek fibonacci sayılarını bulabilmemiz için bu şekilde atamamız gerekiyor.
Niye olduğunu fonksiyonumuz üzerinde bir örnekle açıklayalım.
Mesela diziUzunlugu = 3 olsun.
for döngüsü işlemeye başladı.
sayac= 0 iken c= a+b yani (-1)+(1)=0 oluyor => c=0
c'yi ekrana yazdırdık.
Şimdi a'yı b'ye, b'yi c'ye eşitledik eşledik. a=1 b=0
Yine c= a+b oldu c=1
c'yi ekrana yazdırdık.
Yine a=b, b=c. a=0, b=1
c= a+b oldu c=1
c'yi ekrana yazdırdık c=1
İlk 3 sayıyı yazdırmış olduk. 0 1 1
*/
a=-1;
b=1;
for(sayac=0;sayac<diziUzunlugu; sayac++) {
c=a+b;
printf("%d\n", c);
a=b;
b=c;
}
}
/*
Şimdi bize n. Fibonacci sayısını verecek olan fonksiyonu yazıyoruz.
Bize n. Fibonacci sayısını geri döndüreceği için int olarak tanımlıyoruz.
Yani x diye integer türünde bir değişkenimizin olduğunu varsayarsak:
x = FibonacciSayisi(10);
diyerek x'e 10.Fibonacci sayısını atayabiliriz.
*/
int FibonacciSayisi(int n) {
/*
Dikkat ederseniz ilk fonksiyonumuzdaki a,b, sayac değişkenini burada tekrar tanımlıyoruz.
Çünkü ilk fonksiyondaki a,b ve sayac değişkenleri ilk fonksiyonun kapsama alanındaydı, yani ilk fonksiyonun lokal değişkenleriydi.
Bir nevi { } yani kıvırcıklar değişkenlerin kapsama alanını da gösteriyor...
*/
int a,b,sayac;
a=-1;
b=1;
/*Yine ilk fonksiyondaki gibi a=-1 b=1 diyoruz.
Bu sefer döngünün içinde 2 değişken kullandık. 3 taneyle olandan farkı yok, maksat marjinallik...
*/
for(sayac=0;sayac<n;sayac++) {
b += a;
a = b-a;
}
return b;
}
// Sıra geldi ana fonksiyonumuza...
int main() {
int dizi,sayi,secim;
/*Kullanıcıya 1 veya 2'yi girerek istenilen fonksiyonu seçmesini sağlıyoruz. */
printf("n elemanli Fibonacci Dizisi icin 1'i\n");
printf("n. Fibonacci Sayisi icin 2'yi tuslayiniz: ");
scanf("%d", &secim);
if(secim == 1) {
printf("n degerini giriniz:");
scanf("%d",&dizi);
FibonacciDizisi(dizi);
}
else if(secim == 2) {
printf("n degerini giriniz:");
scanf("%d",&sayi);
//Gördüğünüz üzere FibonacciSayisi fonksiyonunun dönüş değerini direkt printf ile ekrana yazdırabiliyoruz. Like a Boss.
printf("%d\n", FibonacciSayisi(sayi));
}
//Kullanıcı 1 veya 2 dışında birşey tuşlarsa, ona bunu yapmaması gerektiğini aşağıdaki else bloğuyla söylüyoruz.
else {
printf("\nbeyin.dll not found.\n");
printf("\nLutfen 1 -bir- veya 2 -iki-'yi tuslayin...\n");
}
return 0;
}
Revision: 54240
Updated Code
at December 16, 2011 08:41 by sleepnir
Updated Code
#include <stdio.h>
/*
Fibonacci Dizisi oluşturmak için kullanacağımız fonksiyonu yazıyoruz.
Bu fonksiyon n. Fibonacci sayısına kadar olan diziyi ekrana yazdıracak.
Bu fonksiyon geriye hiçbir değer döndürmeyeceği için void olarak tanımlıyoruz.
*/
void FibonacciDizisi(int diziUzunlugu) {
int a,b,c,sayac;
/*a'ya -1'i b'ye 1'i atıyoruz.
Bunu neden yaptığımıza gelirsek fibonacci sayılarını bulabilmemiz için bu şekilde atamamız gerekiyor.
Niye olduğunu fonksiyonumuz üzerinde bir örnekle açıklayalım.
Mesela diziUzunlugu = 3 olsun.
for döngüsü işlemeye başladı.
sayac= 0 iken c= a+b yani (-1)+(1)=0 oluyor => c=0
c'yi ekrana yazdırdık.
Şimdi a'yı b'ye, b'yi c'ye eşitledik eşledik. a=1 b=0
Yine c= a+b oldu c=1
c'yi ekrana yazdırdık.
Yine a=b, b=c. a=0, b=1
c= a+b oldu c=1
c'yi ekrana yazdırdık c=1
İlk 3 sayıyı yazdırmış olduk. 0 1 1
*/
a=-1;
b=1;
for(sayac=0;sayac<diziUzunlugu; sayac++) {
c=a+b;
printf("%d\n", c);
a=b;
b=c;
}
}
/*
Şimdi bize n. Fibonacci sayısını verecek olan fonksiyonu yazıyoruz.
Bize n. Fibonacci sayısını geri döndüreceği için int olarak tanımlıyoruz.
Yani x diye integer türünde bir değişkenimizin olduğunu varsayarsak:
x = FibonacciSayisi(10);
diyerek x'e 10.Fibonacci sayısını atayabiliriz.
*/
int FibonacciSayisi(int n) {
/*
Dikkat ederseniz ilk fonksiyonumuzdaki a,b, sayac değişkenini burada tekrar tanımlıyoruz.
Çünkü ilk fonksiyondaki a,b ve sayac değişkenleri ilk fonksiyonun kapsama alanındaydı, yani ilk fonksiyonun lokal değişkenleriydi.
Bir nevi { } yani kıvırcıklar değişkenlerin kapsama alanını da gösteriyor...
*/
int a,b,sayac;
a=-1;
b=1;
/*Yine ilk fonksiyondaki gibi a=-1 b=1 diyoruz.
Bu sefer döngünün içinde 2 değişken kullandık. 3 taneyle olandan farkı yok, maksat marjinallik...
*/
for(sayac=0;sayac<n;sayac++) {
b += a;
a = b-a;
}
return b;
}
// Sıra geldi ana fonksiyonumuza...
int main() {
int dizi,sayi,secim;
/*Kullanıcıya 1 veya 2'yi girerek istenilen fonksiyonu seçmesini sağlıyoruz. */
printf("n elemanli Fibonacci Dizisi icin 1'i\n");
printf("n. Fibonacci Sayisi icin 2'yi tuslayiniz: ");
scanf("%d", &secim);
if(secim == 1) {
printf("n degerini giriniz:");
scanf("%d",&dizi);
FibonacciDizisi(dizi);
}
else if(secim == 2) {
printf("n degerini giriniz:");
scanf("%d",&sayi);
printf("%d\n", FibonacciSayisi(sayi));
}
//Kullanıcı 1 veya 2 dışında birşey tuşlarsa, ona bunu yapmaması gerektiğini aşağıdaki else bloğuyla söylüyoruz.
else {
printf("\nbeyin.dll not found.\n");
printf("\nLutfen 1 -bir- veya 2 -iki-'yi tuslayin...\n");
}
return 0;
}
Revision: 54239
Updated Code
at December 16, 2011 08:40 by sleepnir
Updated Code
#include <stdio.h>
/*
Fibonacci Dizisi olu�turmak için kullanaca�ımız fonksiyonu yazıyoruz.
Bu fonksiyon n. Fibonacci sayısına kadar olan diziyi ekrana yazdıracak.
Bu fonksiyon geriye hiçbir de�er döndürmeyece�i için void olarak tanımlıyoruz.
*/
void FibonacciDizisi(int diziUzunlugu) {
int a,b,c,sayac;
/*a'ya -1'i b'ye 1'i atıyoruz.
Bunu neden yaptı�ımıza gelirsek fibonacci sayılarını bulabilmemiz için bu �ekilde atamamız gerekiyor.
Niye oldu�unu fonksiyonumuz üzerinde bir örnekle açıklayalım.
Mesela diziUzunlugu = 3 olsun.
for döngüsü i�lemeye ba�ladı.
sayac= 0 iken c= a+b yani (-1)+(1)=0 oluyor => c=0
c'yi ekrana yazdırdık.
�imdi a'yı b'ye, b'yi c'ye e�itledik e�ledik. a=1 b=0
Yine c= a+b oldu c=1
c'yi ekrana yazdırdık.
Yine a=b, b=c. a=0, b=1
c= a+b oldu c=1
c'yi ekrana yazdırdık c=1
İlk 3 sayıyı yazdırmı� olduk. 0 1 1
*/
a=-1;
b=1;
for(sayac=0;sayac<diziUzunlugu; sayac++) {
c=a+b;
printf("%d\n", c);
a=b;
b=c;
}
}
/*
�imdi bize n. Fibonacci sayısını verecek olan fonksiyonu yazıyoruz.
Bize n. Fibonacci sayısını geri döndürece�i için int olarak tanımlıyoruz.
Yani x diye integer türünde bir de�i�kenimizin oldu�unu varsayarsak:
x = FibonacciSayisi(10);
diyerek x'e 10.Fibonacci sayısını atayabiliriz.
*/
int FibonacciSayisi(int n) {
/*
Dikkat ederseniz ilk fonksiyonumuzdaki a,b, sayac de�i�kenini burada tekrar tanımlıyoruz.
�ünkü ilk fonksiyondaki a,b ve sayac de�i�kenleri ilk fonksiyonun kapsama alanındaydı, yani ilk fonksiyonun lokal de�i�kenleriydi.
Bir nevi { } yani kıvırcıklar de�i�kenlerin kapsama alanını da gösteriyor...
*/
int a,b,sayac;
a=-1;
b=1;
/*Yine ilk fonksiyondaki gibi a=-1 b=1 diyoruz.
Bu sefer döngünün içinde 2 de�i�ken kullandık. 3 taneyle olandan farkı yok, maksat marjinallik...
*/
for(sayac=0;sayac<n;sayac++) {
b += a;
a = b-a;
}
return b;
}
// Sıra geldi ana fonksiyonumuza...
int main() {
int dizi,sayi,secim;
/*Kullanıcıya 1 veya 2'yi girerek istenilen fonksiyonu seçmesini sa�lıyoruz. */
printf("n elemanli Fibonacci Dizisi icin 1'i\n");
printf("n. Fibonacci Sayisi icin 2'yi tuslayiniz: ");
scanf("%d", &secim);
if(secim == 1) {
printf("n degerini giriniz:");
scanf("%d",&dizi);
FibonacciDizisi(dizi);
}
else if(secim == 2) {
printf("n degerini giriniz:");
scanf("%d",&sayi);
printf("%d\n", FibonacciSayisi(sayi));
}
//Kullanıcı 1 veya 2 dı�ında bir�ey tu�larsa, ona bunu yapmaması gerekti�ini a�a�ıdaki else blo�uyla söylüyoruz.
else {
printf("\nbeyin.dll not found.\n");
printf("\nLutfen 1 -bir- veya 2 -iki-'yi tuslayin...\n");
}
return 0;
}
Revision: 54238
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at December 16, 2011 08:35 by sleepnir
Initial Code
#include <stdio.h>
/*
Fibonacci Dizisi oluşturmak için kullanacağımız fonksiyonu yazıyoruz.
Bu fonksiyon n. Fibonacci sayısına kadar olan diziyi ekrana yazdıracak.
Bu fonksiyon geriye hiçbir değer döndürmeyeceği için void olarak tanımlıyoruz.
*/
void FibonacciDizisi(int diziUzunlugu) {
int a,b,c,sayac;
/*a'ya -1'i b'ye 1'i atıyoruz.
Bunu neden yaptığımıza gelirsek fibonacci sayılarını bulabilmemiz için bu şekilde atamamız gerekiyor.
Niye olduğunu fonksiyonumuz üzerinde bir örnekle açıklayalım.
Mesela diziUzunlugu = 3 olsun.
for döngüsü işlemeye başladı.
sayac= 0 iken c= a+b yani (-1)+(1)=0 oluyor => c=0
c'yi ekrana yazdırdık.
Şimdi a'yı b'ye, b'yi c'ye eşitledik eşledik. a=1 b=0
Yine c= a+b oldu c=1
c'yi ekrana yazdırdık.
Yine a=b, b=c. a=0, b=1
c= a+b oldu c=1
c'yi ekrana yazdırdık c=1
İlk 3 sayıyı yazdırmış olduk. 0 1 1
*/
a=-1;
b=1;
for(sayac=0;sayac<diziUzunlugu; sayac++) {
c=a+b;
printf("%d\n", c);
a=b;
b=c;
}
}
/*
Şimdi bize n. Fibonacci sayısını verecek olan fonksiyonu yazıyoruz.
Bize n. Fibonacci sayısını geri döndüreceği için int olarak tanımlıyoruz.
Yani x diye integer türünde bir değişkenimizin olduğunu varsayarsak:
x = FibonacciSayisi(10);
diyerek x'e 10.Fibonacci sayısını atayabiliriz.
*/
int FibonacciSayisi(int n) {
/*
Dikkat ederseniz ilk fonksiyonumuzdaki a,b, sayac değişkenini burada tekrar tanımlıyoruz.
Çünkü ilk fonksiyondaki a,b ve sayac değişkenleri ilk fonksiyonun kapsama alanındaydı, yani ilk fonksiyonun lokal değişkenleriydi.
Bir nevi { } yani kıvırcıklar değişkenlerin kapsama alanını da gösteriyor...
*/
int a,b,sayac;
a=-1;
b=1;
/*Yine ilk fonksiyondaki gibi a=-1 b=1 diyoruz.
Bu sefer döngünün içinde 2 değişken kullandık. 3 taneyle olandan farkı yok, maksat marjinallik...
*/
for(sayac=0;sayac<n;sayac++) {
b += a;
a = b-a;
}
return b;
}
// Sıra geldi ana fonksiyonumuza...
int main() {
int dizi,sayi,secim;
/*Kullanıcıya 1 veya 2'yi girerek istenilen fonksiyonu seçmesini sağlıyoruz. */
printf("n elemanli Fibonacci Dizisi icin 1'i\n");
printf("n. Fibonacci Sayisi icin 2'yi tuslayiniz: ");
scanf("%d", &secim);
if(secim == 1) {
printf("n degerini giriniz:");
scanf("%d",&dizi);
FibonacciDizisi(dizi);
}
else if(secim == 2) {
printf("n degerini giriniz:");
scanf("%d",&sayi);
printf("%d\n", FibonacciSayisi(sayi));
}
//Kullanıcı 1 veya 2 dışında birşey tuşlarsa, ona bunu yapmaması gerektiğini aşağıdaki else bloğuyla söylüyoruz.
else {
printf("\nbeyin.dll not found.\n");
printf("\nLutfen 1 -bir- veya 2 -iki-'yi tuslayin...\n");
}
return 0;
}
Initial URL
Initial Description
Fibonacci dizileri ile ilgili fonksiyonlara örnek. -Yorumlu/Açıklamalı-
Initial Title
Fibonacci Dizisi - Örnek (Yorumlu/Açıklamalı)
Initial Tags
Initial Language
C