Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- typedef double (*func_t)(double);
- double func1(double x)
- {
- double result=0;
- result = 2*sin(x) - 0.5;
- return result;
- }
- double func2(double x)
- {
- double rez=0;
- rez = 2*cos(x);
- return rez;
- }
- typedef struct values_s {
- double *arg;
- double *funcval;
- long size;
- } values_t;
- typedef enum boolean_e {
- FALSE = 0,
- TRUE = 1
- } boolean_t;
- values_t *values_allocate(long size)
- {
- values_t *values;
- values= malloc(sizeof(values_t));
- if(values==0) {
- printf("Greska u alokaciji....");
- return 0;
- }
- values->arg = calloc(size, sizeof(double));
- values->funcval = calloc(size, sizeof(double));
- if(values->arg==0 || values->funcval==0) {
- printf("Greska u alokaciji...");
- free(values);
- return 0;
- }
- values->size = size;
- return values;
- }
- boolean_t values_insert (values_t *val, double arg, double value, long index)
- {
- boolean_t result = FALSE;
- if(val==0) return result;
- if(index<0 || index>val->size) return result;
- val->arg[index] = arg;
- val->funcval[index] = value;
- return result=TRUE;
- }
- boolean_t values_free(values_t *val)
- {
- boolean_t result = FALSE;
- if(val==0) return result;
- free(val->arg);
- free(val->funcval);
- val->size = 0;
- free(val);
- return result = TRUE;
- }
- boolean_t values_print(values_t *val)
- {
- boolean_t result = FALSE;
- if(val==0) return result;
- long i;
- for(i=0; i<val->size; i++){
- printf("%ld Argument: %5g, Vrijednost funkcije od argumenta: %5g\n" , i+1, val->arg[i], val->funcval[i]);
- }
- return result = TRUE;
- }
- double newton_step(double x0, func_t func, func_t derivate)
- {
- double x1;
- if(derivate(x0)==0) return 0;
- x1=x0-func(x0)/derivate(x0);
- return x1;
- }
- int main()
- {
- printf("Hello world....");
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment