로또처럼 번호를 출력하는 프로그램인데요;;
슬아s
질문 제목 : 로또처럼 번호를 출력하는 프로그램입니다ㅠ질문 내용 :
#include stdio.h
#include stdlib.h
#include time.h
int luckynumber();
int ismatched(int s[],int key);
int main(void)
{
int num[6]={0,};
int mat;
int i = 0;
srand(time(null));
for(i=0; i6; i++)
{
num[i] = luckynumber();
mat = ismatched(num, luckynumber());
if(mat = 0)
{
printf(%d, num[i]);
}
else
{
}
}
return 0;
}
int luckynumber()
{
int num = rand() % 45 + 1;
return num;
}
int ismatched(int s[], int key)
{
int i;
for(i=0; i6; i++)
{
if(key==s[i])
{
return 1;
}
}
return 0;
}
총 숫자는 45개
동일한 숫자가 나올 수 없다
라는 규칙이 있구요
로또처럼 번호를 출력하는 프로그램을 만들어야하는데요
밑에 함수를 어떻게 사용해야할지를 모르겠습니다ㅠ
위에는 제가 짜본건데..화면에 아무것도 안뜨네요..
어제부터 계속 고민하다가 글 올려봅니다
배열에 넣은 값과 key의 값이 같으면 1을 반환하고 아니면 0을 반환하는 밑의 함수를
어떻게 프로그램에 활용해야할까요...ㅠ
num 배열에 랜덤으로 값을 넣고 배열끼리 비교를 해서 같은 숫자가 있으면 다시 랜덤하게 숫자를 찾고
같은 숫자가 없을경우엔 프린트 하면 될것 같은데...ㅠ
프로그램으로 어떻게 짜아하는지를 모르겠어요
도와주세요ㅠ
-
소아
밑에 함수를 변경하면 안되요...ㅠ
밑에 함수는 key로 정해져있는거라...ㅠ
그래도 감사합니다:D
요걸 기본으로 생각해볼께요~ㅎ -
가욋길
글자 걸려서 앞부분은 생략
-
미나
int main(void)
{
int num[6];
int mat;
int i = 0;
srand(time(NULL));
\tfor(i=0; i6; i++)
\t{
\t\tnum[i] = luckyNumber();
\t\tmat = isMatched(num, i);
\t\tif(mat == 0)
\t\t{
\t\tprintf(\%d\\n\ -
도란도란
죄송해요...잘 모르겠어요ㅠㅂㅠ
-
초고리
지금 이대로면 key랑 s[0]부터 s[5]까지가면서 key랑도 비교를 해버리니 무조건 같다고 나옴
이런식으로 짜면 key가 몇번째인지 알수가없으니까요
key대신에 i를 받고
그번호까지 같은게 잇는지 판단하는게 좋을꺼같습니다