그냥 심심해서 만든 로또 프로그램인데
한울
질문 제목 : 로또 잘 되다가 가끔 한번씩 이상해지네요 질문 내용 :
난수를 돌려 46짜리 배열에 1~46자리 수들이 몇번 찍혔나 본겁니다.그래서 가장 큰수들 차례대로 한개식 뽑아서 총 6개를 출력해주는데요잘되다가 가끔 1 1 1 1 1 1 이렇게 같은 숫자가 계속 나오거나아님 똑같은 수가 두번씩 나오기도하네요 이거 왜그런지좀...
그리고 for(n=0;n100000;n++)이게 난수 돌리는 루프인데n을 unsigned int 로 선언했을때 숫자를 몇까지 돌릴수 있는지;;?
십억까지는 해봤는데 시간이 꽤 걸리더라구요
아무래도 많이 돌렸을 수록 큰것과 작은것의 차이가 커질테니까..
그리고 이거 코딩한거 굉장히 난해한가요?지적 할 만한게 뭐가 있나요?예를 들어 변수의 선언이 지저분 하다 라든가함수가 너무 배배 꼬였다든가지적좀...
ps. 그리고 숫자들 막 나오는건 1~45숫자의 빈도수 입니다.
#include stdio.h
#include stdlib.h
#include time.h
void find(unsigned int*);
void choice(unsigned int*);
struct result{
unsigned int top,data;
int count;
};
int main(void)
{
int a;
unsigned int arr[46]={0};
puts(로또 프로그램. 이번에는 당첨좀ㅠ_ㅠ\n엔터키를 누르시오);
getchar();
find(arr);
choice(arr); for(a=1;a46;a++)
printf(%d ,arr[a]);
return 0;
}
void find(unsigned int* arr)
{
unsigned int n;
int temp;
srand(time(null));
for(n=0;n100000;n++)
{
temp=rand()%45+1;
arr[temp]+=1;
}
}
void choice(unsigned int* arr)
{
struct result result={0,0,1};
int i,j;
result.top=arr[1];
for(j=1;j46;j++)
{
if(arr[j]result.top)
{
result.top=arr[j];
result.count=j;
}
}
printf(%d ,result.count);
for(i=0;i5;i++)
{
result.data=arr[1];
for(j=1;j46;j++)
{
if(arr[j]result.data && arr[j]result.top)
{
result.data=arr[j];
result.count=j;
}
}
printf(%d ,result.count);
result.top=result.data;
}
printf(\n);
}
-
찬솔
for(n=0;n100000;n++)
에서 n은 signed와 unsigned는 아무런 관계가 없습니다. -
갤쓰리
srand(time(NULL));
는
main 함수 처음에 한 번만 있으면 됩니다. -
핫다홍
로또는 1~45죠 아마
갯수가 5개에 보너스 1개
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692451 | 이 문제좀 풀어주세요 ^^ | 게자리 | 2025-04-23 |
2692424 | 2차원배열 자료입력질문이요! (1) | 똘끼 | 2025-04-22 |
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |