#include "stdio.h" #include "math.h" void main() { int count = 1; // число перекрытий; double time = 0; // время в секундах double phi_min = 0; // угол минутной стрелки в градусах; double phi_hr = 0; // угол часовой стрелки в градусах; double delta, prevdelta = 0; int go_down = 0; // цикл моделирования while( time < 60*(60*12-1) ) { time += 1.0; // след. момент времени phi_min = phi_min + 0.1; // поворот минут. стрелки if( fabs(phi_min - 360) < 0.01 ) {phi_min = 0; printf( "Round\n");} phi_hr = phi_hr + 0.1/12; // поворот часовой // проверка перекрытия // printf ( "hr = %F min = %F\n", phi_hr, phi_min ); delta = fabs( phi_min - phi_hr); // // if( delta >= 180) delta -= 180; if( delta < prevdelta ) { go_down = 1; } else { if( go_down == 1 ){ count ++; printf( "hr = %f min = %f\n", phi_hr, phi_min ); go_down = 0; } } prevdelta = delta; } printf ( "count = %d\n", count ); }