피씨컴의 기울어진 공관

// 셔플 알고리즘이란 카드게임에서 카드를 섞는 것과 같이
// 수를 섞어 마치 랜덤으로 숫자가 생성된 것처럼 보이게 하는 알고리즘이다.

#include <iostream>
#include <time.h>

using namespace std;

void main(void) {

    srand(time(NULL));

    int iNum[5] = {0};
    int iDest, iSour, iTemp;

    for(int i=0; i<5; i++) {    // 우선 배열에 숫자를 0~4까지 각각 넣어준다.
        iNum[i] = i;
    }

    for(int i=0; i<10; i++) {    // 랜덤으로 두개의 배열 인덱스를 골라 바꿔준다.
        iDest = rand() % 5;
        iSour = rand() % 5;

        iTemp = iNum[iDest];
        iNum[iDest] = iNum[iSour];
        iNum[iSour] = iTemp;
    }

    for(int i=0; i<5; i++) {
        cout << iNum[i] << endl;
    }
}

'프로그래밍 > 참고' 카테고리의 다른 글

함수  (0) 2013.02.03
지역 변수 / 전역 변수  (0) 2013.01.31
메모리 영역  (0) 2013.01.31
난수 출력함수 rand() / srand()  (0) 2013.01.24
cin  (0) 2013.01.24
Posted by 피씨컴