[ 0Mashinac0 @ 28.03.2010. 10:13 ] @
naime treba da ispishem program za reshavanje polinoma preko hornerove sheme, gde su koeficijenti realni a x se krece od 0 do 1 sa nekim korakom 0.0001 shto i nije mnogo bitno E sad ja sam uradio to onako seljacki, ali to nije to jer nije upotrebljivo, jer se odnosi samo na polinom 10og stepena shto mi je i zadato u zadatku, ali treba ga napraviti univerzalnim Drugi problem je shto sve treba da odradim najprostije preko funkcija, ne smem da koristim nizove niti bilo shta drugo Da bi znali o cemu pricam evo ta "seljacka" varijanta koja moze se reci radi Code: #include <stdio.h> float polinom( float a0,float a1, float a2, float a3, float a4, float a5, float a6, float a7, float a8, float a9, float x ); main() { float a0,a1,a2,a3,a4,a5,a6,a7,a8,a9; float pol,x; printf("\n Unesite koeficijente: \n"); scanf("%f %f %f %f %f %f %f %f %f %f ",&a0,&a1,&a2,&a3,&a4,&a5,&a6,&a7,&a8,&a9); for(x=0;x<1;x=x+0.0001) { pol = polinom(a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,x); printf("x=%f P(x)0 %f\n",x,pol); } system("PAUSE"); } float polinom( float a0,float a1, float a2, float a3, float a4, float a5, float a6, float a7, float a8, float a9, float x ) { return (a0+x*(a1+x*(a2+x*(a3+x*(a4+x*(a5+x*(a6+x*(a7+x*(a8+x*(a9+x)))))))))); } E sad sam zaglavio kod opshteg reshenja, jer ne znam kako da povezem stepene n sa koeficijentima a kojih ima n+a, i da mi vrti unosjenje za svaki koeficijent u zavisnosti kojeg mi je stepena polinom konkretnije sa nizovima bi ishlo ovako neshto Code: ...nesho... printf("Unesite stepen polinoma:"); scanf("%d",&n); for(i=0;i<=n;i++) { printf("Unesite koeficijent uz %d stepen:",i); scanf("%f",&a[i]); } for(x=0;x<=1;x=x+0.0001) { p=a[0]; xp=x; for(i=1;i<=n;i++) { p=p+a[i]*xp; xp=xp*x; ....neshto... A sad ovaj treci kod nemojte zameriti sigurno je pun greshaka i nebuloza ali tu sam samo nabacao kako sam mislio da to uklopim, ali sam jednostavno zakucao, a moguce da nishta ne valja pa da ne moze ni da se ispravi... Code: #include<stdio.h> float polinom(float y,float x,int a, int n, int i); main() { float pol,x,y,a,n; printf("Unesite stepen polinoma:"); scanf("%d",&n); for(i=0;i<=n;i++) y = a(0); for(i=0;i<=n;i++) { printf("Unesite koeficijent uz %d stepen:",i); scanf("%f",&a(i)); } for(x=0;x<=1;x=x+0.00001) { pol=polinom(y,x,a,n,i); printf("x=%f P(x)0 %f\n",x,pol); } system("PAUSE"); } float polinom(float y,float x,int a, int n, int i) { return y=x*y + a(i); } Eto to bi bila moja muka, pa ako je neko raspolozen :) Unapred zahvalan |