Program oblicza wartość wielomianu o postaci
y(x)=An*X^+A(n-1)*X^(n-1)+...+A2*X^2+A1*X+A0
Treść zadania:
1. Napisać i uruchomić program, który:
a. Wczyta stopień n wielomianu y(x)=anxn+an-1xn-1+...+a2x2+a1x+a0, oraz wartość zmiennej x, a następnie jako współczynników ai tego wielomianu użyje elementów zainicjowanej tablicy obliczy jego wartość. Wczytując n, program powinien zadbać, aby nie było ono mniejsze od zera, ani większe od pomniejszonego o jeden rozmiaru zainicjowanej tablicy współczynników.
b. Będzie wczytywać wartości n oraz x, obliczać i drukować wartość wielomianu y(x) tak długo, jak długo wprowadzane n będzie nieujemne.
Listing
#include <cstdlib>
#include <iostream>
#include <math.h>
int n;
double x;
const int M=200;
double T[M];
int czytaj()
{
int i;
do
{
printf("Dla wielomianu a :\n");
printf("podaj stopien wielomianu. \nn=");
scanf("%d:\n",&n);
if(n<0)printf("stopien wielomianu musi byc wiekszy od 0 \n");
else if(n>M)printf("stopien wielomianu usi byc mniejszy od %d \n", M);
}
while (n<0||n>(M-1));
printf("podaj wartosc X. \nX=");
scanf("%lf", &x);
printf("podaj wartosc wspolczynnikow A: \n");
for(i=n;i>=0;i--)
{
printf("A%d=", i);
scanf("%lf", T+i);
}
printf("n=%d x=%.3lf\n",n,x);
return n;
}
int main()
{
int i;
double S=0,N;
czytaj();
for(i=n;i>=0;i--) S+=(T[i]*(pow(x,i)));
printf("wartosc wielomianu wynosi: \ny(x)=%.4lf\n",S);
printf("X=%.3lf n=%d",x,n);
scanf("%d",&N);
return 0;
}
Ranga: Administrator serwisu Punktów: 0