#include #include typedef float (*floatFunc) (float); float test(float x) { return (x-2)*(x-2); } void swap(float *x, float *y) { float t; t = *x; *x = *y; *y = t; } float goldenRationMinimum (floatFunc f,float a, float b) { int i=0; // liczba iteracji // int n=10000; // zloty podzial float k=(float) sqrt((float) 5)/2; k-=0.5; // wartosci funkcji float f1; float f2; // parametry z kroku i float x1; float x2; // obliczane // dlugosc przedzialu poddana proporcji, // potrzebna do wyznaczenia // pierwszych x1,x2 float distance=b-a; distance*=k; // parametry z kroku i-1, ustawiamy bo pierwszy // krok u nas jest 0 float _a=a,_b=b; // trzeba pomyslec czy nie warto z* float _x1=b - distance; float _x2=a + distance; float xmin,fmin; for (i=1;i