Please enable JavaScript in your browser to load website properly.

Click here if you'd like to learn how.

C언어 개같다....포커프로그램 만드는중이데 ㅆㅂ... [16]

중위 오체풀만족 | 17-12-06 04:31:44 | 조회 : 1254 | 추천 : -


무슨 카드 52장 중복없이 뽑는거부터 막힘 알고리즘 아무리짜도 내 머리로 안된다...하...
SNS로 공유하기
  • 중위 검은 봉황8년 전 | 신고

     조온나 쉬울거 같은데 왜 막힘?
  • 중위 오체풀만족8년 전 | 신고

    @검은 봉황7포커 인원수 7로돌리는프로그램임
    1~52까지난수 49개생성하는데 중복되면안됨
    이걸 못짜겠음 스트레이트 플러쉬 풀하우스 그런건 다짰는데 
    프로그램돌리다보니까 한게이머한테 다이아6 3장있는거보고 멘붕왔음
  • 중위 검은 봉황8년 전 | 신고

    @오체풀만족 클래스 하나 만들어서
     배열 대충 52까지 해서 각 값 넣어놓고, 하나 뽑을때마다 하나 빼는 식으로 해도 될거 같은데.
    이거 쉽게 되는게 벡터로 하면 쉽던가.
     배열로 하면 뭐 하나 뽑고, 뒤쪽 값 죄다 앞으로 이동 시키고 카드 개수는 따로 변수 지정해서 놔두고.
  • 중위 오체풀만족8년 전 | 신고

    @검은 봉황구조체 써서 하려고 했는데 걍 갈아엎을까여 ㅠ?
  • 중위 검은 봉황8년 전 | 신고

    @오체풀만족 클래스나 구조체나 쓰는법은 비슷비슷하지 않음? 
    사실 뭐 굳이 이정도를 클래스로 만들필요는 없긴 하지.
  • 이병 ????????????????8년 전 | 신고

    배열에 저장해놓고 랜덤으로 뽑으면안됨?
  • 이병 ????????????????8년 전 | 신고

    랜덤메소드 써서 랜덤메소드 범위 0~51 해놓고 뽑으면 되잖앙
  • 이병 ????????????????8년 전 | 신고

    중복은 이프문으로 처리하구
  • 중위 오체풀만족8년 전 | 신고

    @????????????????struct gamer 
    {
    int card_class[7];
    int card[7];

    };
    typedef struct gamer gamer;
    이런 구조체 정의하고
    gamer Gamer[GAMER_NUM] = { NULL };이렇게 선언햇음


    여기서 카드 분배 함수는
    void share_card(gamer Gamer[], int gamer_num,int card_num)
    {
    srand((long)time(NULL));
    for (int i = 0; i < gamer_num; i++)
    {
    for (int j = 0; j < card_num; j++)
    {
    Gamer[i].card[j] = rand() % 52 + 1;

    for (int n = 1; n < j; n++)
    {
    if (Gamer[i].card[j] == Gamer[i].card[n])
    j--;
    break;
    }
    }
    for (int m = 1; m <i ; m++)
    {
    for (int k = 0; k < card_num; k++)
    {
    if (Gamer[i].card[k] == Gamer[m].card[k]);
    i--;
    break;
    }
    }
    }
    }
    이런식으로 짜봤는데 명령창은 실행되는데 연산이 오래걸리는건지 아무리 기다려도 출력이 안되네...ㅠ
  • 중위 검은 봉황8년 전 | 신고

    @오체풀만족 남 코드 보기는 너무 어려운데,
     k로 검사할때가 좀 이상하지 않나? k번째 카드끼리만 같은지 검사하면 안 되는거 아닌가?
  • 상병 맛있는피자8년 전 | 신고

    1~52에서 a먼저뽑고 그다음 b꺼뽑은다음 a=b면 다시뽑고 아니면 진행하는 알고리즘어때여
  • 중위 오체풀만족8년 전 | 신고

    @맛있는피자그렇게해봤는데 무한루프에빠졌는지 출력이안됨..ㅜ
  • 이병 겨울하늘8년 전 | 신고

    멋지다 무슨과임?
  • 중위 오체풀만족8년 전 | 신고

    @겨울하늘과는 이쪽아닌데 취미로 C언어 하고있어영
  • 소장 시턳8년 전 | 신고

    그냥 연결리스트 만든 다음 
    랜덤값을 0부터 연결리스트 사이즈로 만들고
    랜덤값을 인덱스로 줘서 뽑아내면 되잖아
    그럼 뽑아낼때마다 리스트에서 원소 삭제되고 사이즈도 줄어들고
    다 뽑아낼때까지 반복문 돌리면 됨
  • 중위 오체풀만족8년 전 | 신고

    @시턳아직 동적할당 공부하기 전이라서 ㅜㅜ...그래도 7시쯤에 프로그램 완성해서 출력까지 끝마쳤음!
< 1 2 3 4 5 >