셔플
ㄴ 배열 안에 있는 값을 랜덤으로 배치
. 인덱스 0의 값과 <-> 인덱스 랜덤의 값을 교환
. 100번 반복
int scores[5] = {100, 90, 80, 70, 60};
srand((unsigned int)time(NULL));
// while
int n = 0;
while(n < 100){
int r = rand() % 4 +1; // index 1~4 (0제외)
int temp = scores[0];
scores[0] = scores[r];
scores[r] = temp;
n += 1;
}
// for
for(int i=0; i<100; i++){
int r = rand() % 4 +1;
int temp = scores[0];
scores[0] = scores[r];
scores[r] = temp;
}
// print
for(int i=0; i<5; i++){
printf("%d ", scores[i]);
}
printf("\n");
연습문제
// 연습문제 : 셔플 & 정렬
// . 배열값 셔플 후, 출력1
// . 오름차순으로 재정렬 후, 출력2
int age[5] = {99, 65, 43, 31, 27};
더보기
// shuffle
srand(time(0));
for(int i=0; i<1000; i++){
int r = rand() % 4 +1;
int temp = age[0];
age[0] = age[r];
age[r] = temp;
}
for(int i=0; i<5; i++){
printf("%d ", age[i]);
} printf("\n");
// align
for(int i=0; i<5; i++){
for(int j=i; j<5; j++){
if(age[i] > age[j]){
int temp = age[i];
age[i] = age[j];
age[j] = temp;
}
}
}
for(int i=0; i<5; i++){
printf("%d ", age[i]);
} printf("\n");
'C > ☞' 카테고리의 다른 글
[43] 배열과 포인터 (0) | 2020.07.23 |
---|---|
[42] 포인터 기본 (0) | 2020.07.23 |
[40] 정렬 (0) | 2020.07.23 |
[39]-A. 회원가입 (0) | 2020.07.23 |
[39] 회원가입 (0) | 2020.07.23 |
댓글