EDIT: spori ste...nvm sam sam nasao...i zamjenio polja sa instant koristenjem djeljitelja slobodnog clana...
Problem http://en.wikipedia.org/wiki/Horner_scheme#Examples
za p6(x) mi program ne radi....
za sve ostale primjere sa wikipedije radi normalno pa me zanimo zasto bloka :SSSS
100% sam siguran da program radi super za sve ostale
evo vam proogram kod:
#include <stdio.h>
#include <conio.h>
//#exclude <math.h>
int abs(int a){
if (a<0){
a*=-1;
}
return a;
}
//#PROGRAM
int main (){
printf("Program za racunanje realnih nultocaka polinoma\n");
//#deklaracija
int i, j, l=0; //brojevi za petlje
int s; //stupanj
int k[50], kc[50]; //koeficijenti, koef.-crtano
int d[50]; //djeljitelji slobodnog clana
int brx=0; //brojac nultocaka
//#unos jednadzbe
do {
printf("Unesi stupanj polinoma: ");
scanf("%d", &s);
} while (s<1);
printf("\n");
for (i=s; i>=0; i--){
do {
printf("Koeficijent od x^%d: ", i);
scanf("%d", &k[i]);
} while (k[s]==0);
}
//#ispis jednadzbe
printf("\nJednadzba polinoma:\n%dx^%d", k[s], s);
for (i=s-1; i>0; i--){
if (k[i]>0){
printf("+%dx^%d", k[i], i);
}
if (k[i]<0){
printf("%dx^%d", k[i], i);
}
}
if (k[0]>0){
printf("+%d", k[0]);
}
if (k[0]<0){
printf("%d", k[0]);
}
//#racunanje cijelobrojnih realnih nultocaka
printf("\n\nRealne cijelobrojne nultocke:\n");
while (k[i]==0){
i++;
}
if (k[0]==0){
printf("x1=0\n");
brx++;
}
else if (i==s){
printf("x1=0");
brx++;
}
for (j=1; j<=abs(k[i]); j++){ //#dobivanje djeljitelja slobodnog clana
if (abs(k[i])%j==0){
l+=2;
d[l-1]=j;
d[l]=-1*j;
}
}
//#hornerov algoritam
j=1;
while (j<=l){
for (i=0; i<=s; i++)
kc[i]=k[i];
i=s+1;
do {
i--;
kc[i-1]=d[j]*kc[i]+kc[i-1];
} while (i>1);
if (kc[0]==0){
brx++;
printf("x%d=%d\n", brx, d[j]);
s--;
for (i=0; i<=s; i++){
kc[i]=kc[i+1];
}
for (i=0; i<=s; i++)
k[i]=kc[i];
}
else j++;
}
if (brx==0){
printf("Nema realnih cijelobrojnih nultocaka.\n");
}
//...//
getch();
return 0;
}