Neler yeni
Türkiye'nin En Güncel Forum Sitesi

Forum içeriğine ve tüm hizmetlerimize erişim sağlamak için foruma kayıt olmalı yada giriş yapmalısınız. Forum üye olmak tamamen ücretsizdir.

C/C++ -- Numerik Analiz Yarılanma Teoremi

ByOnur58

Kayıtlı Üye
MFC Üyesi
  • Üyelik Tarihi
    7 Ocak 2015
  • Mesajlar
    2,113
  • MFC Puanı
    10
  • MFC Seviyesi

Kod:
#include<stdio.h>
#include<stdlib.h>
#include<math.h>
 bool Fonksiyon(int der,int x[],float a,float b){
    float toplam1=0.00,toplam2=0.00;
    int i;
    for(i=der;i>=0;i--){
                        toplam1=toplam1+(x[i]*(pow(a,i)));
                        toplam2=toplam2+(x[i]*(pow(b,i)));
                        }
    if(toplam1*toplam2<0)
    return true;
    else 
    return false;   }

// program elle katsayı ve üstellerini belirledgimiz fonksiyonun kok aralıgını 
//buluyor.
    int main(){
    float x1,x2,x3;
    int derece,katsayi,i,yarilanma;
   
    printf("nKoklerini Bulunmasi Istedigimiz Denklmin En Buyuk Derecesini Giriniz:");
    scanf("%d",&derece);
    int a[derece];
    for(i=derece;i>=0;i--){
    printf("n%d Dereceden Degiskenin Katsayisini giriniz:",i);
    scanf("%d",&a[i]);     }
    printf("nKoku Aramak Istedigini Ust Sinir Giriniz:");
    scanf("%f",&x1);
    printf("nKoku Aramak Istediginiz Alt Sinir Giriniz:");
    scanf("%f",&x2);
    printf("nFonksiyonun Kac KEz Yarilanacagni giriniz:"); 
    scanf("%d",&yarilanma);  
    if(Fonksiyon(derece,a,x1,x2)==true){
    printf("nBu aralikta Fonksiyonun Bir Koku Vardir");
   for(i=1;i<=yarilanma;i++){
     x3=(x1+x2)/2;
     printf("nx1=%f  x2=%f   x3=%f",x1,x2,x3);                       
     if( Fonksiyon(derece,a,x3,x2)==true)
    x1=x3;
     else if(Fonksiyon(derece,a,x1,x3)==true)
    x2=x3;   } }
else
printf("nFonksiyonun Bu aralilta Koku Yokturn");
    printf("nn");
    system("pause");
    return 0;
}
 
Üst Alt