배열을 이용하는 문제인데 부탁드립니다
세라
1. 주사위를 60000번 던져서 그 결과를 배열로 요약하여 보자. 잘 만들어진 주사위라면 하
나의 면이 나올 확률은 약 1/6이 되어야 한다. 컴퓨터에서 주사위 던지기는 난수 발생 함수
rand()를 통하여 구현하라.
hint
이 문제에 대한 알고리즘을 의사 코드로 작성하여 보면 다음과 같다.
for(i=0;i60000;i++)
난수를 발생한다.
난수로부터 주사위 면을 결정한다.
결과를 배열에 저장한다.
결과를 출력한다.난수 발생은 rand()를 사용하고 난수를 주사위 면으로 변경하는 수식은 ((rand() % 6) + 1)
로 하면 된다. 주사위면이 등장한 횟수는 배열 freq[]에 저장된다. 만약 1이 나왔으면
++freq[1]
하면 된다. 따라서 주사위면을 생성하여 배열에 기록하는 코드는 다음과 같다.
face = ((rand() % 6) + 1);
++freq[face];
전체 프로그램을 완성하여 보라.2. 배열을 이용하여 간단한 극장 예약 시스템을 작성하여 보자. 아주 작은 극장이라서 좌석
이 10개 밖에 안된다. 사용자가 예약을 하려고 하면 먼저 좌석 배치표를 보여준다. 즉 예약
이 끝난 좌석은 1로, 예약이 안된 좌석은 0으로 나타낸다.
hint
먼저 의사 코드를 작성하여 보자.
while(1)
사용자로부터 입력을 받는다.
if 입력 == y
좌석 배치표를 출력한다.
좌석 번호를 입력받는다.
좌석 배치표를 변경한다.
좌석 배치표를 출력한다.
else
종료한다여기서 좌석 배치표를 출력하는 부분이 두 번 등장한다. 따라서 반드시 함수 print_seats()
로 작성하여서 불필요한 코딩을 막아야 한다. 그리고 좌석 배치표는 1차원 배열 seats[]로
구현하면 될 것이다. 처음에는 모든 좌석이 예약되지 않았으므로 0으로 초기화하여야 한다.
좌석이 예약되면 seats[]의 값을 1로 변경하면 된다. 전체 프로그램을 완성하여 보라.
제발 좀 해주세요 ㅠㅠ