c 입문한 지 얼마 안 된 프린이입니당 이번에 처음으로 재귀함수랑 난수를 배웠는데 위의 문제를 한 번 풀어보라네요
그래서 아래와 같이 짜봤는데 결과가 그냥 평균값 0, 횟수 1 나오고 실행이 멈춰버려서
무얼 잘못 짜서 그런건지 궁금합니당
c 입문한 지 얼마 안 된 프린이입니당 이번에 처음으로 재귀함수랑 난수를 배웠는데 위의 문제를 한 번 풀어보라네요
그래서 아래와 같이 짜봤는데 결과가 그냥 평균값 0, 횟수 1 나오고 실행이 멈춰버려서
무얼 잘못 짜서 그런건지 궁금합니당
for문 조건에서 멈춰야할 조건을 써버렸네. 전체를 묶어서 !연산 해보자 - dc App
아니면 드모르간 적용해서 or만들어도 되고 - dc App
멈춰야할 조건을 써버렸다는 게 뭔지 설띵해줄 수 있나여
예컨대 a를 0부터 10이 될때까지 1씩 늘려! 라고 던져줬는데 for 조건문에 a == 10 넣어두면 당연히 a가 첫바퀴에 0이니 바로멈추죠 - dc App
for(int i=0;i!=10;i++) 을 for(int i=0;i==10;i++) 라고 쓴셈임 - dc App
파스칼에서 repeat ~ until 문에서 작성했다면 정상적으로 돌아갔다 ㄹㅇ루ㅋㅋㅋㅋ - dc App
그렇다면 첫빠따에 평균값이 49와 51 사이의 수가 떴다는 건가요
아뇨 for문에서 첫빠따에 49에서 51사이가 안뜨면 for문이 종료하도록 프로그램을 짜셨다구요 - dc App
ㅇㅎㅇㅎ 그럼 average<=49 or average>=51 로 바꿔서 이 조건이 아닐 때까지 for문을 돌려야겠네요
ㅇㅇ코드 수정하기 귀찮으면 지금 짜둔거 전부 괄호로 묶고 앞에 !붙이면 동일 - dc App
오오오오 돌아간다 어후ㅋㅋㅋㅋㅋㅋㅋ
감사합니다아아아
1트에 for 조건문에 걸려서 그런거고 j=i-1로 해야하는 거 아니냐
아 맞네 마지막 i는 조건에 위배되는 수니까