Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #include <math.h>
- double f(double x, int exp)
- {
- double y=1;
- int i=0;
- if(exp>0)
- {
- for(i=0; i<exp; i++)
- {
- y*=x;
- }
- return y;
- }
- else if(exp<0)
- {
- for(i=0; i<exp; i++)
- {
- y/=x;
- }
- return y;
- }
- return 1;
- }
- int main()
- {
- double a=0, b=0, h=0;
- int n=0;
- printf("Unesite prvu tacku intervala: ");
- scanf("%lf", &a);
- printf("Unesite drugu tacku intervala: ");
- scanf("%lf", &b);
- while((abs(a)+abs(b))>100 || a>=b)
- {
- printf("\nNeispravan interval!");
- printf("\nUnesite prvu tacku intervala: ");
- scanf("%lf", &a);
- printf("Unesite drugu tacku intervala: ");
- scanf("%lf", &b);
- }
- printf("Unesite eksponent: ");
- scanf("%d", &n);
- while(!(n>=-1 && n<=10))
- {
- printf("\nPogresan eksponent!");
- printf("\nUnesite eksponent: ");
- scanf("%d", &n);
- }
- printf("Unesite korak diskretizacije: ");
- scanf("%lf", &h);
- int j=0;
- double p=0;
- int pom_br=0;
- double m=a;
- double k=a;
- while(m+h<b || fabs(m+h-b)<1e-7)
- {
- m+=h;
- pom_br++;
- }
- printf("Korak x y = f(x)\n");
- for(int i=0; i<34; i++) printf("-");
- printf("\n");
- while(a+h<b || fabs(a+h-b)<1e-7)
- {
- j++;
- if(j<=4)
- {
- printf(" %d. %0.5lf %0.5lf\n", j, a, f(a, n));
- }
- if(j==pom_br)
- {
- printf("(...)\n");
- printf(" %d. %0.5lf %0.5lf\n", j, a, f(a, n));
- }
- p+=f(a,n)*h;
- a+=h;
- }
- for(int i=0; i<34; i++) printf("-");
- printf("\n");
- printf("P(x^%d)[%g,%g]= %0.5lf (dx=%g)", n, k, b, p, h);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement