#include <stdio.h>
int main(void) {
int temp, index;
int A[3] = {3, 0,1};
for (int i = 0; i < 2; i++) {
index = i;
for (int j = i + 1; j < 3;j++) {
if (A[index] > A[j]) {
index = j;
}
temp = A[i];
A[i] = A[index];
A[index] = temp;
}
}
for (int i = 0; i < 3; i++) {
printf("%d ", A[i]);
}
return 0;
}
이게 예제 소스코드 10크기 배열인거 3크기 배열로 줄이고 걍 갖다 붙인건데 이게 0 1 3이 나오는게 아니라 1 0 3이 나오거든요? 내가 확인한 문제가 index = i;가
i반복문에 들어 있어서 index에 j가 담기면 j반복하면서 오류생기는거같은데 index =i를 j반복문에 넣으면 해결이 되거등용? 여기서 이상한점이나 제가 잘못이해한점 있나요? 위에 소스코드가 맞는것 같으면 댓글로 이해좀 시켜줘용 ㅠ; 돌려보면 1 0 3나옴
예제소스가 저거임??
노놉 예제소스는 크기 10에 {28, 26, 12 ...} 이렇게 되있고 저위에 소스코드는 내가 배열크기랑 내용만 바꾼것
index=i를 굳이 한것도 좀그런데 index=j부터 for문 지랄날것 ㅇㅇ 아님말구
ㅇㅇ ㅋㅋ 나도그렇게 생각함 예제가 ㅄ같이 되있는거같아
if (A[index] > A[j]) { index = j; temp = A[i]; A[i] = A[index]; A[index] = temp;
j반복문에 넣으면 해결되는건 맞음 ㅇㅇㅇ
if (A[i] > A[j]) { temp = A[i]; A[i] = A[index]; A[index] = temp; }일케하면 좀 편할것같은데
그치? ㅅ발내가맞앗어
index를 j로바꾸고
선택 되고 뒤로 옮겼는데 범위를 안줄이노
앞쪽에서 줄이네 ㅋㅋ
스왑을 뒤로 빼라 ㅇㅅㅇ
코드가 왤케 ㅄ 같냐 예제코드가 이따구라고?
진짜임 찍어서 올릴수 있음