반응형

3.7>4x42차원 배열을 만들고 이곳에 1에서 10까지 범위의 정수를 랜덤하게 생성하여 정수 16개를 배열에 저장하고 2차원 배열을 화면에 출력하라.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package HW1_JAVA;
public class Two_Dimensinal_Array { //Two_Dimensinal_Array class 선언
    public static void main(String[] args) {
        int darr[][]=new int[4][4]; //4 * 4 사이즈의 인트형 이차원배열 darr 선언
        int i=0int j=0//int 형 변수 i,j 선언 및 초기화
        for(i=0;i<4;i++)  //i는 0부터 3까지 반복
        {
            for(j=0;j<4;j++//j는 0부터 3까지 반복
            {
                darr[i][j]=(int)Math.round(Math.random()*9+1);
                //random메소드는 0.0이상0.1미만난수 반환 round메소드는 반올림
                System.out.print(darr[i][j]+"    "); //darr[i][j]출력 후 탭키 입력
            }
            System.out.println(); //개행문자 입력
        }
    }
}
 
 
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > JAVA' 카테고리의 다른 글

직사각형 클래스  (0) 2017.06.18
돈 단위 나누기  (0) 2017.06.18
정수 오름차순 정렬기  (0) 2017.06.18
하위 문자 모두 출력하기  (0) 2017.06.18
직사각형 충돌  (0) 2017.06.18
반응형

주사위를 던져서 각각의 면이 몇 번 나왔는지를 출력하는 프로그램을 작성하라. 주사위의 면은 난수를 이용하여 생성한다. 주사위를 던지는 함수 get_dice_face()를 만들고 이 함수 안에서 각각의 면이 나올 때마다 그 횟수를 정적 지역 번수를 이용하여 기억하게 하라. get_dice_face() 호출 횟수가 100의 배수일 때마다 면이 나온 횟수를 출력한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
#include <stdio.h>
#include <stdlib.h>
void get_dice_face(void);
int check(void);
int main(void)
{
    int k;
    int loop=0;
    while(1){
 
        get_dice_face();    
        while(1)
        {k=check();
        if(k==1)
        break;
        else if(k==2)
        {loop++;
        break;}
        else
            continue;
    }
        if(loop==1)
            break;
 
    }
    return 0;
}
void get_dice_face(void)
{
    int i,j,x;
    static int a=0;
    static int b=0;
    static int c=0;
    static int d=0;
    static int e=0;
    static int f=0;
for(i=1;i<=100;i++)
{
    for(j=1;j<=6;j++)
    {
        x= (rand()%6)+1;
        printf("%d ",x);
        if(x==1)
            a++;
        else if(x==2)
            b++;
        else if(x==3)
            c++;
        else if(x==4)
            d++;
        else if(x==5)
            e++;
        else if(x==6)
            f++;
    }
    printf("\n");
}
printf("1면:%d 2면:%d 3면:%d 4면:%d 5면:%d 6면:%d\n",a,b,c,d,e,f);
}
int check(void)
{
    char quit;
    static int z;
    while(1)
    {printf("계속하시겠습니까?(y/n)");
    scanf("%c"&quit);
    if(quit=='y')
    z=1;
    else if(quit=='n')
    z=2;
    else
        z=3;
    getchar();
    return z;
    }
}
cs






반응형
반응형

0.0부터 1.0까지의 난수를 반환하는 함수 f_rand()를 작성하고 5번 호출하여 본다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
double f_rand(void);
int main(void)
{
    int i;
    srand((unsigned)time(NULL));
    for(i=1;i<=5;i++)
    {
    printf("%lf ", f_rand());
    }
    return 0;
}
double f_rand(void)
{
    double a;
    a = rand()/(double)RAND_MAX;//랜덤의 최대값
    return a;
}
cs


반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

n의 배수  (0) 2016.07.27
세로 막대 그래프  (0) 2016.07.27
동전 던지기 게임  (0) 2016.07.27
난수 발생기  (0) 2016.07.27
사인값 출력  (0) 2016.07.27
반응형

앞에서 작성한 b_rand()함수를 이용하여 간단한 동전 던지기 게임을 시뮬레이션하여 보자. 컴퓨터가 동전을 던지고 사용자는 앞뒤를 말한다. 컴퓨터는 b_rand()를 이용하여 생성된 난수가 1이면 동전의 앞면으로 간주하고 0이면 동전의 뒷면으로 간주한다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int b_rand(void);
int main(void)
{
    int a;
    char b;
    while(1)
    {
    printf("앞면 또는 뒷면(1또는 0):");
    scanf("%d"&a);
    {if(a==b_rand())
        printf("맞았습니다.\n");
    else
        printf("틀렸습니다.\n");}
    printf("계속하시겠습니까(y 또는 n): ");
    getchar();
    scanf("%c"&b);
    if(b=='n')
        break;
    else if(b=='y')
        continue;
    }
    return 0;
}
int b_rand(void)
{
int a;
srand((unsigned)time(NULL));
    a=rand()%2;
    return a;
}
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

세로 막대 그래프  (0) 2016.07.27
0.0 부터 1.0까지의 난수  (0) 2016.07.27
난수 발생기  (0) 2016.07.27
사인값 출력  (0) 2016.07.27
소득세 계산  (0) 2016.07.27
반응형

난수(random number)는 컴퓨터를 이용한 문제 해결에서 많이 사용된다. 특히 수학적인 분석이 너무 복잡한 경우에 시뮬레이션을 사용하면 실제로 제품을 제작하지 않고서도 많은 실험을 할 수 있다. 비주얼 C++의 경우, rand()가 한번 호출될 때마다 0에서 32767까지의 정수를 같은 확률로 선택하여 반환한다. rand() 함수를 이용하여 0 또는 1 값을 무작위로 반환하는 함수 b_rand()를 작성하고 5번 호출하여 보자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void b_rand(void);
int main(void)
{
    b_rand();
    return 0;
}
void b_rand(void)
{
int i;
srand((unsigned)time(NULL));
for(i=1;i<=5;i++)
{
    printf("%d ", rand()%2);
}
}
cs




반응형

'컴퓨터 & 프로그래밍 & 전자공학 > C언어' 카테고리의 다른 글

0.0 부터 1.0까지의 난수  (0) 2016.07.27
동전 던지기 게임  (0) 2016.07.27
사인값 출력  (0) 2016.07.27
소득세 계산  (0) 2016.07.27
원의 면적 구하기  (0) 2016.07.26

+ Recent posts