#include #include #include #define MAX_SIZE 100 double f ( double x ) { // return sin(2 * M_PI * x); return sin(4 * M_PI * x); // return sqrt(0.25-pow(x-0.5,2)); // return exp(x); // return sqrt(x); // return x * x; // return x / (x * x + 1); // return pow(x,x); // return pow(x,-x); } int main ( ) { int N = 80, L = 20, i, j; double h, v, A[MAX_SIZE], min, max; char img[MAX_SIZE][MAX_SIZE]; h = 1 / (double)N; for (i=0; i<=N; ++i) A[i] = f(i*h); max = min = A[0]; for (i=1; i<=N; ++i) { if (A[i] > max) max = A[i]; if (A[i] < min) min = A[i]; } if (max == min) exit(1); v = (max - min) / L; for (i=0; i= L) i = L - 1; img[i][j] = 'X'; } printf("%lf\n", max); for (i=L-1; i>=0; --i) printf("%s\n", img[i]); printf("%lf\n", min); exit(0); }