C 간단한 질문 좀 풀어 주세요..;;

글쓴이: 익명 사용자 / 작성시간: 화, 2003/04/15 - 12:03오전
#include<stdio.h> #include<stdlib.h> #include<time.h> void shuffle(int [][13]); void deal(const int [][13], const char*[],const char*[]); int main() { const char *suit[4]={"Hearts","Diamonds","Clubs","spades"}; const char *face[13]={"Ace","Deuce","three","Four","Five","Six","Seven","Eight","Nine","Ten","Jack","Queen","King"}; int deck[4][13]={0}; srand(time(0)); shuffle(deck); deal(deck,face,suit); return 0; } void shuffle(int wDeck[][13]) { int row, column,card; for(card=1;card<=52;card++) { do { row=rand()%4; column=rand()%13; } while(wDeck[row][column]!=0); wDeck[row][column]=card; } } void deal(const int wDeck[][13],const char *wFace[], const char *wSuit[]) { int card, row, column; for(card=1;card<=52;card++) for(row=0;row<=3;row++) for(column=0;column<=12;column++) if(wDeck[row][column]==card) printf("%5s of %-8s%c",wFace[column], wSuit[row],card%2==0?'\n':'\t'); }
이 소스에서..;;
shuffle 함수와 deal 함수, 그리고 main 함수의
목적과, parameter, 동작 원리 그리고 결과 를 정리좀 해 주셨으면 감사 하겠습니다.. ^^;;
Forums:
숙제 싫오.
ㅡ.ㅡ;;
-_-
카드 놀이 소스네요..
일단
void shuffle(int [][13]);
은 단순히 모든 4*13 개의 카드를
랜덤의로 석습미다..
자기가 들어갈 곳이 0이면 do while 루프를
빠져나와..
값을 집어 넣습미다..
그리고
void deal(const int [][13], const char*[],const char*[]);
함수는
단순히 순서대로 찍히는 결과가 나오는것 같은데..
이상하네..? 직접 돌려보세요..
============================================================
선한 인간이냐 악한 인간이냐는 그사람의 의지에 달렸다. -에픽테토스-
의지 노력 기다림은 성공의 주춧돌이다. -파스퇴르-
============================================================
댓글 달기