C de polinom hesaplatma

sinevm
26-05-2010, 11:27   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
10 mesaj
Kayıt Tarihi:Kayıt: Nis 2009

Nümerik analiz ödevim var ve regula false yöntemini kullanarak polinomun kökünü bulan kodu yazmam lazım ancak compiler "void value not ignored as it ought to be" hatasını veriyor.sanırım main() kısmıyla ilgili bir hata ama bulamadım nerede olduğunu.Bilen biri yardım ederse çok sevinirim..

-----------------------------------------------
#include
#include
#include
#include

void fonk(double x,double a0,double a1,double a2,double a3,double a4,double a5)
{
double f;


f=(a0*x*x*x*x*x+a1*x*x*x*x+a2*x*x*x+a3*x*x+a4*x+a5 *1);

}

void abs(double deger)
{

double sayi;
if(deger>=0)
{
sayi=deger;
}
else
{
sayi=-deger;
}
}

main()
{
double xn,xi,xs,eps;
int a0,a1,a2,a3,a4,a5;
printf("Katsayıları giriniz.\n");
scanf("%f,%f,%f,%f,%f,%f,%f",&a0,&a1,&a2,&a3,&a4,& a5);
printf("epsilon degeri nedir?\n");
scanf("%f",&eps);
printf("ilk ve son baslangic degerlerini giriniz.\n");
scanf("%d,%d",ξ,&xs);
(Bu kısımda hata veriyor)
while(abs(xs-xn)>eps)
{
xn=xi-((xs-xi)*fonk(xi,a0,a1,a2,a3,a4,a5)/(fonk(xs,a0,a1,a2,a3,a4,a5)-fonk(xi,a0,a1,a2,a3,a4,a5))); 
xs=xn;
}
printf("kok degeri=%d\n",&xn);

getch();
return 0;
}

Son Düzenleme: sinevm ~ 26 Mayıs 2010 11:29
muh34
02-10-2010, 00:14   |  #2  
Yıllanmış Üye
Teşekkür Sayısı: 0
215 mesaj
Kayıt Tarihi:Kayıt: Eki 2010

Bakın hata sunu soyluyor,sayet bir fonksiyon uzerinden işlem yapılacaksa onun deger donduren bir fonksiyon olması gerekir.Sizin fonksiyonunuzun dondurum tipi bulunmamaktadir,yani void tipli bir fonksiyondur.Dolayısıyla bu işlemde -> xn=xi-((xs-xi)*fonk(xi,a0,a1,a2,a3,a4,a5)/(fonk(xs,a0,a1,a2,a3,a4,a5).... fonk() fonksiyonunun sorudaki sekliyle double veri tipi olarak deklare edilmesi gerekir. Başarılar