일단 하긴 했는데 이게 아닌것 같네요. 특히 앞차가 사람을 태우는 동안 그 다음 버스가 오는 걸 어떻게 구현할 지가 참 막막합니다... * 열심히 할라고 한거 같지만 문제의 의도에서 벗어 났음. 이 문제는 실제 각 이벤트가 일어나면 다른 조건에도 긴밀하게 영향을 주고 받아야 제대로 돌아 간다. 버스가 이동할때와 버스 정류장에 도착할때 다른 데이터들에게 어떠한 영향을 끼치는지에 대해서 생각해 보아야 한다. 즉 각각의 데이터에 영향을 끼치는 이벤트가 어떠한 상황에 발생하는가를 생각해보고 그 상황에서 영향을 끼치는 데이터에 어떠한 방식으로 그 영향을 반영할 것인가도 생각해볼 문제- 상협 {{{~cpp #include #define road 300 //길은 한바퀴 순회하는데 300킬로미터. 즉 5시간 걸린다. class Bus//시속 60km/h-->분속 1km/m으로 정함. { public: int bus_loc;//버스의 위치 //일정한 속도로 도로위를 지나다님 //버스정류장에서 사람들이 타는 동안 멈춤 2분 걸림. void move(int x_min); //최종 결과를 나타낸다 void show(int a); }; void Bus::move(int x_min) { for(;;) { if(x_min<=30){ bus_loc=bus_loc+x_min;//분당 1킬로를 가므로 x분 후의 위치는 x킬로 뒤 x_min=0;//0으로 초기화. 다음 계산에 이상한 값이 들어가지 않도록. break; } if(x_min>30){ x_min=x_min-30; bus_loc=bus_loc+30; } if(30road){//300킬로를 돌면 다시 원점으로 bus_loc=bus_loc-road; } } } void Bus::show(int a) { if(bus_loc>0){ cout<>time; Bus bus[10];//버스 10개 생성 bus[0].bus_loc=0;//10분 간격으로 떠난다 bus[1].bus_loc=-10; bus[2].bus_loc=-20; bus[3].bus_loc=-30; bus[4].bus_loc=-40; bus[5].bus_loc=-50; bus[6].bus_loc=-60; bus[7].bus_loc=-70; bus[8].bus_loc=-80; bus[9].bus_loc=-90; for(i=0;i<10;i++) { bus[i].move(time); } cout<<"____________Result of Bus Simulation___________"<