
PP tinh
#include<conio.h>
#include<stdio.h>
#include<math.h>
#define eps 0.001
float d[10],h[10];
int n,m;
float fx(float d,int n,float x);
float fdh(float h,int m, float y);
void menu();
void ppchiadoi();
void pplap(float a, float b);
void pptieptuyen();
void ppdaycung();
void nhap(float *d, int n);
void xuat(float *d,int n);
void nhapdh(float *h,int m);
void xuatdh(float *h,int m);
main()
{
printf("Nhap so bac n cua da thuc: ");
scanf("%d",&n);
nhap(d,n);
xuat(d,n);
menu();
getch();
}
float fx(float d[], int n, float x)
{
float s;
s=d[0];
for (int i=1;i<=n;i++) s=s*x+d[i];
return s;
printf("%0.3f",s);
}
float fdh(float h[], int m, float y)
{
float p;
p=h[0];
for (int i=1;i<=m;i++) p=p*y+h[i];
return p;
printf("%0.3f",p);
}
void menu()
{
int k;
printf("Cac cong viec:
");
printf("1. Dung phuong phap chia doi.
");
printf("2. Dung phuong phap lap.
");
printf("3. Dung phuong phap tiep tuyen.
");
printf("4. Dung phuong phap day cung.
");
scanf("%d",&k);
switch(k)
{
case 1: ppchiadoi(); break;
/*case 2: pplap(a,b); break;*/
case 3: pptieptuyen(); break;
case 4: ppdaycung(); break;
}
}
void ppchiadoi()
{
float a,b,c;
printf("Nhap khoang nghiem a ");
scanf("%f",&a);
printf("Nhap khoang nghiem b ");
scanf("%f",&b);
printf("%0.3f %0.3f
",fx(d,n,a),a);
printf("%0.3f %0.3f
",fx(d,n,b),b);
printf("---------------------------
");
printf("| a | b | f(c) |
");
printf("---------------------------
");
if (fx(d,n,a)*fx(d,n,b)<0)
{
do
{
c=(a+b)/2;
printf("|%0.3f | %0.3f | %0.3f|
",a,b,fx(d,n,c));
if (fx(d,n,c)*fx(d,n,a)>0) a=c; else b=c;
}while ((fabs(a-b)>=eps)&&(fx(d,n,c)!=0));
printf("Nghiem cua phuong trinh la: %0.3f",a);
} else printf("Khong phai la khoang nghiem cua phuong trinh
");
}
void nhap(float d[10], int n)
{
for(int i=0;i<=n;i++)
{
printf("Nhap d[%d]= ",i);
scanf("%f",&d[i]);
}
}
void nhapdh(float h[10], int m)
{
for(int i=0;i<=m;i++)
{
printf("Nhap h[%d]= ",i);
scanf("%f",&h[i]);
}
}
void xuat(float *d,int n)
{
printf("Da thuc do la:");
for(int i=n;i>=0;i--) printf("+%fx^%d",d[n-i],i);
printf("=0");
printf("
");
}
void xuatdh(float *h,int m)
{
printf("Da thuc do la:");
for(int i=m;i>=0;i--) printf("+%fx^%d",h[m-i],i);
printf("=0");
printf("
");
}
void ppdaycung()
{
float a,b,c,x;
printf("Nhap khoang nghiem a ");
scanf("%f",&a);
printf("Nhap khoang nghiem b ");
scanf("%f",&b);
printf("%0.3f %0.3f
",fx(d,n,a),a);
printf("%0.3f %0.3f
",fx(d,n,b),b);
if (fx(d,n,a)*fx(d,n,b)<0)
{
x=a-(b-a)*fx(d,n,a)/(fx(d,n,b)-fx(d,n,a));
do
{
if (fx(d,n,x)<0)
{
b=x;
x=a-(b-a)*fx(d,n,a)/(fx(d,n,b)-fx(d,n,a));
}
else
{
a=x;
x=a-(b-a)*fx(d,n,a)/(fx(d,n,b)-fx(d,n,a));
}
}while ((fabs(x-a)>eps)||(fabs(x-b)>eps));
printf("Nghiem cua phuong trinh la: %0.3f",a);
} else printf("Khong phai la khoang nghiem cua phuong trinh
");
}
void pptieptuyen()
{
float a,b,c,x,y;
printf("
nhap bac cua da thuc dao ham m= ");
scanf("%d",&m);
nhapdh(h,m);
xuatdh(h,m);
printf("Nhap khoang nghiem a ");
scanf("%f",&a);
printf("Nhap khoang nghiem b ");
scanf("%f",&b);
printf("Nhap x= ");
scanf("%f",&x);
printf("--------------------------
");
printf("| a | f(x)/fdh(x) |
");
printf("--------------------------
");
do
{
y=x;
printf("
| %0.3f| %0.3f|
",x,fx(d,n,x)/fdh(h,m,y));
x=y-fx(d,n,y)/fdh(h,m,y);
}while(fabs(x-y)>eps);
printf("Nghiem cua phuong trinh la: %0.3f",x);
printf("Khong phai la khoang nghiem cua phuong trinh
");
}
Bạn đang đọc truyện trên: Truyen247.Pro