#include "C:\Practice Programs\Puzzle Feuer\Puzzles\defs.h" #define LOW 0 #define HIGH 5 #define CHANGE 2 void workover(); int reset(int); int i=LOW; void main() { auto int i=HIGH; reset( i/2 ); PRINT1(d,i); reset( i=i/2 ); PRINT1(d,i); i = reset( i/2 ); PRINT1(d,i); workover(i); PRINT1(d,i); } void workover(int i) { double u; i = (i%i) * ((i*i)/(2*i) + 4); PRINT1(d,i); } /* 0 is the result as int%int gives the remainder, but the place holder is and int. An int can only hold whole numbers by C definition... So 'i = (i%i) * ((i*i)/(2*i) + 4);' becomes 'i = (i%i) * 1/2(i^2/i) + 4' becomes 'i = (i%i) * 1/2(i)+4' 'i = ( 0 ) * 1/2(i)+4' 'i = 0' */ int reset(int i) { i = i<=CHANGE ? HIGH : LOW; return(i); }