:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
09/10/22 16:13
대충 요구하는 바를 알았습니다.
영어라서-_-;;; 요점은 이것이네요 속도를 입력하면 탄성에 의해 튀어올려지는데 이때 감소되는 속도와 가속도를 계산하여 출력하라는 의미 같네요. array를 쓰시면 좋을것 같습니다. 계산치를 타임마다 뽑아내서 string배열에다가 기록하신 다음에 메세지 박스를 통해 for루프를 돌던지 아니면 foreach를 이용하셔도 괜찮으실듯 싶습니다. 대략적인 해결 방법을 말씀 드렸고 처음에 while루프를 이용해서 계속 돌리시는데 이때 loop 안에 int 변수값을 하나 잡으시고 0부터 한번 돌때마다 증가시킵니다. 이 변수의 역할은 time입니다. time으로 쓴 변수가 12보다 작을때가지만 돌고 그 데이터를 제가 아까 말씀드린 배열에다가 차곡차곡 넣어두신 다음에 for루프를 쓰시던지 foreach를 쓰시던지 하셔서 string 배열의 처음부터 끝까지를 출력해 주시면 될 것입니다.
09/10/22 16:16
약간 프로그래밍 적인 개념이 들어가야 할 것 같습니다. 적고 보니까 튀어 올려지고 떨어지는데까지는 7초 약간 넘어서 다시 하강하기 때문에
이 부분의 식은 바뀔 필요가 있겠습니다. 최고점에 도달하면 자유낙하운동을 하기 때문에 제공된 식의 + - 가 모두 바뀌어야 합니다. 이 부분은 bool 타입의 변수를 써서 플래그 형식으로 처리하셔야 될 것 같습니다. bool isFalling = false; <- 이것은 낙하하는지에 대한 플래그 변수인데[물론 임의 지정입니다.] 탄성에 의해 올라가는 공의 속도가 0이 되는가를 체크해서 0이 되면 다시 낙하를 하는 것이므로 이때 isFalling은 true로 바꾸고 식의 + - 값을 뒤집은 식을 사용하시면 되겠습니다.
09/10/22 16:17
자유낙하운동의 속도와 가속도를 출력하는 문제였군요.
먼저 물리공식에 따라서 공의 최대높이, 공이 위로 올라갔다가 제자리로 다시 돌아올 때까지 시간을 각각 구하고 시간을 12등분해서 각 시간대에서의 속도 가속도를 구하면 되는군요. EZrock님 설명대로 배열을 만들고 루프를 돌면서 각 배열요소에 공식값을 대입해서 결과를 저장하고 다이얼로그에서 출력하면 되겠습니다. 스샷에서는 이상하게 16등분되어있던데... 맨 왼쪽에 각 시간초도 같이 출력해주시면 점수 더 받으실듯...^^;
09/10/22 16:27
힌트가 될 내용 하나 더 덧붙여 드립니다.
일반적인 메세지 박스를 for루프로 출력하면 한줄마다 메세지 박스가 출력됩니다. 그건 문제에서 바라는 요구가 아니므로 출력하실땐 루프를 돌면서 string 배열에서 문자열을 얻으시되 출력하는 하나의 큰 스트링이 있다고 가정하시고 루프 돌때마다 큰 스트링에 추가해주는 의미로 +=를 앞에 붙이시고 제일 끝에 "\r\n"을 붙이시면 자동으로 줄 바꾸는 하나의 문자열이 큰 문자열에 기록이 됩니다. string[] result <- 결과가 들어있는 문자열이라 가정 하겠습니다. string s <- 메세지 박스를 통해 출력할 결과를 저장한 문자열이라 가정하겠습니다. for(int i = 0; i < 12; i++) s += result[i] + "\r\n"; // 혹은 저 방법이 불안하시면 // writestring = result[i] + "\r\n"; // s += writestring; 이렇게 나눠서 하셔도 상관없습니다. messageBox.show(s); 이렇게 하시면 예제처럼 원하는 결과를 얻으실 수 있을 것입니다.
|