Kod: Zaznacz cały
#include <stdio.h>
typedef float real;
float ff(float x){ return x; }
double fd(double x){ return x; }
int main(void) {
float x1f, x2f, Hf; // x1 - metoda 1, x2 - metoda 2
double x1d, x2d, Hd; // _f - typ float, _d - double
//double y=0; // mam w nosie wynik :-)
unsigned int w,i, N;
// "n=10^w | 1.123456789012345 1.123456789012345 | 1.123456789012345 1.123456789012345
puts("n=10^w | metoda x=x+h | metoda x=i*h");
puts(" | float double | float double");
puts("-------+-------------------------------------+------------------------------------");
for( w=1, N=10; N<=100000000; N*=10, w++ ) {
Hf=Hd=1.0/N;
x1f= x1d= 0.0;
for( i=1; i<=N; i++) {
x1f += Hf; x2f = i*Hf; x1d += Hd; x2d = i*Hd;
// y+= ff(x1f); y+= ff(x2f); y+=fd(x1d); y+=fd(x2d);
}
printf("%6u | %0.15f %0.15f | %0.15f %0.15f
", w, x1f, x1d, x2f, x2d);
}
return 0;
}