├── .layout ├── README.md ├── bin └── Debug │ └── hw ├── hw.cbp ├── hw.depend ├── hw.layout ├── main.c └── obj └── Debug └── main.o /.layout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## BISECITON METHOD 2 | 3 | * C programlama dilinde yazilmis biseksiyon metodu. 4 | * Degerlerin 0'a yakinsaklik degerlerini hesapliyor. 5 | * Kullanicidan deger alma ozelligine sahip. 6 | * Programin icinde yorum satirlari zaten var bunlar programi anlamanizda yardimci olacak aciklamalardir. 7 | -------------------------------------------------------------------------------- /bin/Debug/hw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyevorkhan/bisection_method/4412e13cb5ec881addeea4b496e0757b3d71aedb/bin/Debug/hw -------------------------------------------------------------------------------- /hw.cbp: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 42 | 43 | -------------------------------------------------------------------------------- /hw.depend: -------------------------------------------------------------------------------- 1 | # depslib dependency file v1.0 2 | 1490217336 source:/home/theorkh/Belgeler/hw/main.c 3 | 4 | 5 | 6 | 1490217336 source:/home/theorkh/Belgeler/HwAndReadme/hw/main.c 7 | 8 | 9 | 10 | -------------------------------------------------------------------------------- /hw.layout: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /main.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | // cogu kisimda gosterge(pointer"*") kullandim daha kullanisli. 4 | int bisection (float *ortalama, float a, float b, int *tkrr) 5 | { 6 | *ortalama=(a+b)/2; 7 | ++(*tkrr); 8 | printf("Tekrarlanma numarasi: %d X = %f\n", *tkrr, *ortalama); 9 | } 10 | 11 | //return dongusu icerisindeki pow komutu da fonksiyonde degerin katsayisini yazmakta cok yardimci oldu. 12 | //ayriyetten kullanici icin kendi fonksiyonunu kendisi yazmasi icin n,m,l ve k degerlerinden olusan fonksiyon olusturdum. 13 | float f(int n, int m, int l, int k, float x) 14 | { 15 | return (n*pow(x,m)-l*x-k); 16 | } 17 | 18 | int main () 19 | { 20 | 21 | //hp --> Hata Payi demektir. 22 | //tkrr --> Tekrar demektir. 23 | //maxtkrr --> Maximum (en fazla) Tekrar demektir. 24 | //bazi printf ve scanf satirlarini daha acik gormem amaciyla ayrintili yazdim. 25 | int tkrr = 0, maxtkrr, n, m, l, k; 26 | float x, a, b, hp, x1; 27 | printf("Lutfen n*x^m+l*x+k fonksiyonu icin n,m,l ve k degerlerini giriniz\n"); 28 | scanf("%d %d %d %d", &n, &m, &l, &k); 29 | printf("Lutfen a degerini giriniz:"); 30 | scanf("%f", &a); 31 | printf("Lutfen b degerini giriniz:"); 32 | scanf("%f", &b); 33 | printf("Lutfen hata payini giriniz:"); 34 | scanf("%f", &hp); 35 | printf("Lutfen maximum tekrarlanmayi giriniz:"); 36 | scanf("%d", &maxtkrr); 37 | 38 | 39 | bisection (&x, a, b, &tkrr); 40 | 41 | //dongulerde format hatam olabilir. 42 | do 43 | { 44 | if (f(n, m, l, k, a)*f(n, m, l, k, x) < 0) 45 | b=x; 46 | else 47 | a=x; 48 | bisection (&x1, a, b, &tkrr); 49 | //mutlak deger dongusu icin fabs() komutunu kullandim. 50 | if (fabs(x1-x) < hp) 51 | { 52 | printf("%d tekrarlanmadan sonra, kok = %f\n", tkrr, x1); 53 | return 0; 54 | } 55 | x=x1; 56 | } 57 | while (tkrr < maxtkrr); 58 | printf("Cozum bulunamiyor ve ya tekrarlanmalar yeterli degil!"); 59 | return 0; 60 | } 61 | -------------------------------------------------------------------------------- /obj/Debug/main.o: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aliyevorkhan/bisection_method/4412e13cb5ec881addeea4b496e0757b3d71aedb/obj/Debug/main.o --------------------------------------------------------------------------------