Kod: Zaznacz cały
POBIERZ(i,n,max,x,wsp); //musi zwracac i, n, wsp, x
ALORYTM(i,n,x,wsp); //musi zwracac i, wsp
WYJSCIE(i,n,wsp);
Kod: Zaznacz cały
#include <stdio.h>
int main ()
{
int n,max; //stopien dzielnika i dzielnej
int i;
float x; //pierwiastek dzielnika
//POBRANIE ZMIENNYCH
do
{
printf("
deg W(x) = "); scanf("%d",&max);
if(max>20 || max<0) printf("
deg W(x) musi zawierac sie w przedziale <0;20>
Podaj jeszcze raz");
}
while (max>20 || max<0);
do
{
printf("
deg Q(x) = "); scanf("%d",&n);
if (n<0) printf("
deg Q(x) musi byc wiekszy od 0");
}
while (n<0);
printf("
Podaj pierwiastek dzielnika - "); scanf("%f",&x);
float wsp[max]; //wspolczynniki dzielnej
//WPISANIE WSPOLCZYNNIKOW DO TABLICY
for (i=0;i<max+1;i++)
{
printf("
wsp przy x^%d = ",i);
scanf("%f",&wsp[i]);
printf(" Podales %.2fx^%d",wsp[i],i);
}
printf("
i = %d",i);
//ALGORYTM
float wynik;
int k,r;
i--;
wynik=wsp[i];
printf("
P(x) = %.2fx^%d",wsp[i],i-n);
for(k=n;k>0;k--)
{
wynik=wsp[i];
for(r=i;r>0;r--)
{
wsp[r-1]=wynik=x*wynik+wsp[r-1];
}
}
//WYJSCIE
for(r=i;r>0;r--)
{
if (r-n-1>=0) printf(" %.2fx^%d",wsp[r-1],r-n-1);
}
printf("
R(x) = ");
for(r=i;r>0;r--)
{
if (r-n-1<0) printf(" %.2fx^%d",wsp[r-1],r-1);
}
printf("
");
}