Pomoc kod programa c/c++, Polinomi

poruka: 1
|
čitano: 3.428
|
moderatori: XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
15 godina
neaktivan
offline
Pomoc kod programa c/c++, Polinomi

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;

   }

 

Poruka je uređivana zadnji put čet 20.1.2011 23:20 (calex3).
 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice