게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
C# 로또 프로그램 질문드려요
게시물ID : programmer_3992짧은주소 복사하기
작성자 : 여우지니
추천 : 0
조회수 : 1868회
댓글수 : 9개
등록시간 : 2014/06/15 12:57:52
옵션
  • 베스트금지
  • 본인삭제금지
C#으로 로또 프로그램을 만들고 있는데
로또 프로그램은 굉장이 잘 돌아가는데..

이게 문제가 ㅠ
로또 번호 6개 출력이 1번으로 해서
사용자가 지정해서 횟수를 받은다음에
그 횟수만큼 로또기계를 돌려서 가장 많이 나온 숫자들을 뽑아서
숫자 6개를 출력하는 프로그램입니다...

쉽게 말하면 가장 확률 높은 번호 뽑기죠..

이게 제가 한 방법이
cnt와 temp 배열을 한개씩 더 만들어서
로또 번호가 1이 나오면 cnt[1]에 값을 1씩 증가시킨 다음

버블정렬로 내림차순으로 cnt 배열 안에서 가장 큰 수의 방번호를 알아내서
imsi 배열에 순서대로 6개를 집어 넣어서 출력하려고 하는데

이게 계속 로또 번호가 0이 자꾸 출력이 되더라구요ㅠㅠ....

그래서 지금 카운트값 증가하는거 까지는 잘 되는데...
그 가장큰 값을 순서대로 6개 뽑는게 안되네요....

조언을 조금만 해주세요 ㅠㅠ...

참고로 Array.Reverse(cnt)는 안되더군요,,,
Array.Sort는 잘되는데 리버스는 역정렬이 안되더라구요...
왜그럴까요??...


for (int i = 0; i < su; i++) {
                int arrayIndex = 0;             //배열 항목에 대한 위치값 초기화 

                //지정 개수만큼 번호 만들기
                while (arrayIndex < _numCount) {
                    rdmNum = numCopy = _rdm.Next(_numRangeTo) + 1;        //새로운 번호 발생

                    if (!this.IsAlreadyExistNum(rdmNum)) {      //중복이 아니면 if문 발생
                        _numArray[arrayIndex] = rdmNum;         //새로운 번호 생성한 뒤 저장
                        arrayIndex += 1;            //배열 위치값 1 증가 
                        cnt[numCopy] += 1;          //cnt안의 값 1 증가
                    }
                }

                //내림차순 정렬 (버블 정렬)
                /*for (int j = 0; j < _numRangeTo-1; j++) {
                    int arrayindex2 = 0;

                    for (int k = 0; k < _numRangeTo -1 - j; k++) {
                        if (cnt[k] < cnt[k + 1]) {
                            temp = k+1;
                            imsi[arrayindex2] = temp+1;
                            arrayindex2 += 1;
                            
                        //    temp = cnt[k];
                        //    cnt[k] = cnt[k + 1];
                        //    cnt[k + 1] = temp;
                        }
                    }
                }*/
            }
            
            //this.SortNumArray();        //순서대로 정렬            
            return cnt;
        }
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호