Sonuçlar 1 to 2 of 2

Konu: Polinom kökünü bulan program... (C)

  1. #1

    Default Polinom kökünü bulan program... (C)

    Maks. 15. dereceden bir polinomun bir kökünü newton metodunu kullanarak bulan program.


    Kod:
    #include<stdio.h>
    #include<math.h>
    #define BOYUT 16
    float hesapla(float katsayi[],float x);
    float turev(float katsayi[],float x);
    float fmutlak(float sayi);	  
    int main()
    {
    char yanit='e';
    float katsayi[BOYUT]={0},a,x1,x2;
    int k,derece,i,kontrol,j;
    printf("ax**n+....= biçiminde");
    printf("\nMax. 15. dereceden bir polinom giriniz\n");
    
    /*okutma sorunu çözülmedi!*/
    for(i=0;;i++)
      {  
      k=scanf("%fx**%d",&a,&derece);
      if((k==0)||(i>15))break;
      katsayi[derece]+=a;  
      }
    
    /*polinomun yanyana yaz&yacute;lmas&yacute;:*/
    printf("Girilen polinom:\n");
    for(i=BOYUT-1;i>=0;i--)
     {
      if(katsayi[i])  		
      {
      printf("%fx**%d",katsayi[i],i);
      for(j=i-1;j>=0;j--)/*bir sonraki terimi bulmak için*/
          if(katsayi[j])break;
      if((katsayi[j]>0)&&(j!=-1))printf("+");  
      }
     }		
    while(yanit=='e')
    { 
     printf("\nHangi nokta etraf&yacute;nda çözüm yap&yacute;ls&yacute;n?\n");
     getchar();
     scanf("%f",&x1);
     kontrol=1;
       for(i=0;;i++)
       {  	 
    	 x2=x1-(hesapla(katsayi,x1)/turev(katsayi,x1));     
    	 if(fmutlak(x2-x1)<=0.01)break;
    	 x1=x2; 
         if(i==1000)  
         {			   
     	   printf("Bu nokta etraf&yacute;nda yak&yacute;nsama tamamlanmad&yacute;!\n");
     	   kontrol=0;
    	   break;
     	 }  
       }
      if(kontrol==1) printf("kök=%f",x2);
      printf("\nBa&thorn;ka bir nokta etraf&yacute;nda çözüm aramak ister misiniz?\n");
      getchar();
      scanf("%c",&yanit);
    }		
    return 0;
    }
    /*fonksiyonlar:*/
    float hesapla(float katsayi[],float x)
    {
    int i;
    float toplam=0;
    for(i=0;i<BOYUT;i++)
      toplam+=katsayi[i]*pow(x,i);
    return toplam;
    }
    float turev(float katsayi[],float x)
    {
    float turev=0;
    int i;
    for(i=0;i<BOYUT;i++)
      turev+=i*katsayi[i]*pow(x,i-1);
    return turev;  
    }
    float fmutlak(float sayi)
    {
    if(sayi<0)return sayi*-1;
    else return sayi;
    }

  2. #2

Similar Threads

  1. Google’daki sıranızı bulan program. Free Monitor for Google
    By The Avatar in forum Program anlatımları
    CEvaplar: 0
    Son Mesaj: 04-02-10, 15:30
  2. OKEK bulan program <örnek program-C>
    By Elektronik in forum C,C++,C#,Java
    CEvaplar: 4
    Son Mesaj: 22-12-08, 00:11
  3. e sayısı dizi kullanarak bulan program.
    By Elektronik in forum C,C++,C#,Java
    CEvaplar: 0
    Son Mesaj: 28-10-07, 21:59
  4. OKEK bulan program <örnek program-C>
    By Elektronik in forum C,C++,C#,Java
    CEvaplar: 0
    Son Mesaj: 26-10-07, 13:47
  5. CEvaplar: 0
    Son Mesaj: 23-10-07, 13:38

Tags for this Thread

Bookmarks

Gönderme izinleri

  • Yeni Konu açamazsınız
  • Konulara cevap yazamazsınız.
  • Eklenti gönderemezsiniz.
  • Mesajlarınızı düzenleme izniniz yok.
  •