PDA

Tam Sürümünü Görmek İçin : Dev C' de yardımcı olabilecek arkadaşlara


mayis_1919
10/06/2007, 23:10
aşaıdaki programda yardımcı olursanaız sevinirim.Şimdi f(x)=x^3-20x+16 gibi fonksiyonlara belirli bir hata oranıyla bulacak hata oranı dışardan giriliyor.
matematikte yarılama metodu var onunla yapıyorum ama programda x2 y2
x3,y3 gibi değerleri bulamıyorum bazen yanlış veriyor yardımcı olursanız sevinirim.sorunlu olan yerler kırmızı ile işaretli.

#include<math.h>
#include<stdlib.h>
main()
{int taban[10],us[10],x[20],y[20];
int i,j;
float hata;


for(i=0;i<=9;i++){
taban[i]=0;
us[i]=0;
x[i]=0;
}
printf("hata degerini gir:");scanf("%f",&hata);
for(i=0;i<=9;i++)
{
printf("%d. katsayi gir..:",i+1);
scanf("%d",&taban[i]);
printf("%d.ussu gir..:",i+1);
scanf("%d",&us[i]);
if(taban[i]==0)
break;
}
do
{y[0]=0;
y[1]=0;
printf("x0.. degerini giriniz..:");
scanf("%d",&x[0]);
printf("x1.. degerini giriniz..:");
scanf("%d",&x[1]);
for(i=0;i<=9;i++)
{
y[0]+=((taban[i])*(pow(x[0],us[i])));
y[1]+=((taban[i])*(pow(x[1],us[i])));
}
printf("x[0]..:%d\n",x[0]);
printf("x[1]..:%d\n",x[1]);
printf("y[0]..:%d\n",y[0]);
printf("y[1]..:%d\n",y[1]);

}while ((y[0]*y[1])>=0);


for(i=2;i<=20;i++)
{
x[i]=(x[i-1]+x[i-2])/2;

for(j=0;j<=9;j++)
{
y[i]+=(taban[j]*pow(x[j+2],us[j]));


}

}
printf("y[2]..:%d",y[2]);

getch();

}


mr_c
10/06/2007, 23:12
Bunun dev C ile alakası ne?

FoX_
11/06/2007, 03:06
Benim kuzen gibi heralde dile C yerine Dev-C diyor...:)

mayis_1919
11/06/2007, 03:07
alakası derken neyi kastediyorsun.Dev C++ Programında çalıştığım için öyle yazdım
c işte bildiğimiz

eezgu
11/06/2007, 11:03
başlığa bakınca sanki DevC++ ortamı ile ilgili bir sorun gibi anlaşılıyor. lütfen başlıklara dikkat edelim. o zaman forum daha iyi kullanılabilir.

Barcoder
11/06/2007, 12:26
yalnız arkadaş sizlerden yardım istemiş siz bir kelimeye yoğunlaşıp soruyu esgeçiyorsunuz. Dev-C yazmayı canı istemiştir belki...

mr_c
14/06/2007, 10:42
Ben de Dev C++ ile ilgili cevap vermek istiyorum ama kod karşımda görüp cevap vermek istemiyorum belki.

Kojiroh
14/06/2007, 11:36
for(i=2; i<=20; i++) kısmını for(i=2; i<=19; i++) veya for(i=2; i<20; i++) yapmayı dene.
Döngü içinde x ve y dizilerinin indisi 20 olan elemanlarına ulaşılmaya çalışılıyor; kaldı ki bu dizilerin en büyük indisi 19.
y[i] ile *(y+i) aynı anlama geldiğinden, y'nin adresinden 20 byte sonraki alakasız bir değere ulaşılıyor olabilir.