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