배열에서... 원하는 값이 안나오네요 ㅠㅠ
미르
질문 제목 : 배열을 이용하여 주사위 눈을 변수에 저장하고 눈의 빈도수를 비교하는문제..
질문 요약 :주사위를 3만번 돌려서 나온주사위 눈의 수의 빈도를 출력하고 최대/최소로 나온 주사위눈의수를구하는문제질문 내용 :
#include stdio.h
#include stdlib.h
#include time.h
#define size 7
int main(void)
{
int freq[size]={0};
int i,minimum,maximum;
srand((unsigned)time(null));
for(i=0;i30000;i++)
++freq[rand()%6+1];
printf(======================\n);
printf(주사위눈(면) 빈도\n);
printf(======================\n);
for(i=1;isize;i++)
printf(%10d %10d\n,i,freq[i]);
maximum = freq[1];
for(i=1;isize;i++)
{
if(freq[i]maximum)
maximum=freq[i];
}
minimum = freq[1];
for(i=1;isize;i++)
{
if(freq[i]minimum)
minimum=freq[i];
}
printf(빈도수가 가장 많이 나온 주사위 눈(면): %d\n,maximum);
printf(빈도수가 가장 적게 나온 주사위 눈(면): %d\n,minimum);
return 0;
}
제가 코딩한것이구요..
돌려보면 빈도수가 가장 많이 나온 주사위 눈(면): 1~6 중 하나가 나와야 되는데
빈도수로 나오더라구여... 변수가 잘못된거같은데 문제는 어떻게 바꿔야 될지를 모르겠다는거에여 ㅠㅠ...
maximum=i ,minimum=i 로 바꿔보면 또 이상한 값이 나오기도하고...
어디가 어떻게 잘못된거고 어떻게 바꿔줘야 하는건가요?...
-
뿌우
감사합니다 ^^
-
연분홍
답변 쓰기 권한이 없어서 덧글로..
for(i=1;iSIZE;i++)
{
if(freq[i]maximum)
{
maximum=freq[i];
//! 여기 이부분은 얼추 맞았어요. 하지만 큰 값만 찾으면 뭐하나요.. 주사위 눈도 저장해야죠.
maxnun=i
}
}
그럼 아래도 마찬가지겠지요?