14~20을 어떻게 수정해야 제대로 할 수 있을까요
반복글 죄송합니다 프린이 코드 봐주세요
익명(119.71)
2021-03-13 23:27
추천 0
댓글 24
다른 게시글
-
일가친척 중에서 개발자 있냐? [1]익명(211.253) | 21.03.13추천 0
-
학부생인데 웹개발 프론트 때려치고 [2]ㄹㄹ(211.36) | 21.03.13추천 0
-
가온IT 호스팅 [1]익명(118.235) | 21.03.13추천 0
-
프린이 코드 좀 봐주세요 [3]익명(119.71) | 21.03.13추천 0
-
BNF 십고수님들 질문좀익명(14.38) | 21.03.13추천 0
-
삼성은 자격증 있어야되지않음?ㅇ(118.222) | 21.03.13추천 0
-
프린이 코드 짰는데 어떻게 고쳐야할지 모르겠습니다 [7]익명(119.71) | 21.03.13추천 0
-
쉽지않구만익명(223.39) | 21.03.13추천 0
-
개발하는데 옆에서 자꾸 말걸면 어떰 [3]익명(210.219) | 21.03.13추천 0
-
조건식 잘쓸려면 어케해야함 [2]익명(119.192) | 21.03.13추천 0
이중 포문 돌리고 j의 초기화에 주의
scanf_s나 #include쪽에 #define_CRT_SECURE_NO_WARNINGS 이거 하셈
글고 14번쨰줄부터 i<9로 바꿔
이유는 님이 메모리를 score+으로 설정했는데, 지역변수로 초기화 한거면 i가 0 초기화 된 게 아니라서 그것 때메 얘기치 못한 오류가 난걸 수도 있음
score[ 10 ]이거
맨 처음에 scanf쓰면 오류 나길래
https://bymakers.tistory.com/6
이거대로 했는데 상관없나요?
그런 상태에서 i가 9까지 입력되어있는데 score+이랑 비교하라면 오류날수도 있다봄
네 그게 제가 말했던 거임 코드 보면 같잖아요
그리고, 로직도 실수하신것 같은데, 그러면 0과 1 1과2 이렇게만 비교가됨 예를 들어 35 42 31 49 이렇게 했을때, 42 35 49 31 이렇게만 정렬된 다는 말임
for (j = 0; j < 10; j++) { for(i=0; i<9; i++) { 이런 식으로 했는데 되는 이유가 뭔가요...
이유를 모르겠으면 써보던가 생각을 하던가 해야지. j가 한 번 돌 때마다 가장 작은 원소가 가장 오른쪽에 -> 두번째 작은 원소가 오른쪽에서 두번째에 -> 이런 식으로 갈 거니까 마지막에 정렬 끝나겠지
위에 올렸는데 방금말했던것처럼 0 1 2 3 4 5 6 7 8 9 이렇게 입력이 되었다면, 두번 째 if(score[i]랑 score[i+1])이랑 비교하라고 하면 어떻게 되겠어요? 오류가 남
score[9]score+이랑 비교가 안된다는 말임 score+에 입력값이 없는데 score[9]랑 어떻게 비교를 해요
종이에 그려보라고 하신 분 말대로 천천히 해보니까 코드 이해 됐습니다ㅜㅠ
이중포문을 써야지. 이대로 하면 그냥 한번 움직이고 끝이잖아
이렇게하면 정렬 안됨
숫자 하나하나 따라가면서 종이에 그림 그려가면서 해보셈
넵
k 저거 써둔거로 포문안에 포문하나 더 돌려 근데 관습적으로 i다음 j씀 ㅇㅅㅇ - dc App
for (j = 0; j < 10; j++) { for(i=0; i<9; i++) { if (score[i] < score[i + 1]) { temp = score[i]; score[i] = score[i + 1]; score[i + 1] = temp;
사실 거기서 메모리 단축시키려면 temp=score[i];이거 위에 해야됨 거기서 더 확장해나가면 합병정렬,퀵정렬 이런거 나가는 거고
물론 나는 오래 걸리기 때문에 vector sort씀 ㅇㅇ
다들 갑사합니다
감사합니다