.NET프로그래밍/C# 3.5 SP1

35. 랜덤클래스

holland14 2009. 8. 7. 14:47


using System;

public class 랜덤클래스
{
    public static void Main()
    {
        // 임의의 수 출력

        // Random 클래스의 인스턴스 생성
        Random r = new Random();
        for (int i = 0; i < 50; i++)
        {
            Console.Write("{0} ", r.Next(100)); // 0~n미만의 정수(여기서는 100미만의 정수)   
        } Console.WriteLine();

        for (int i = 0; i < 10; i++)
        {
            Console.Write("{0} ", r.NextDouble()); // 0.0~1.0 실수
        } Console.WriteLine();

        // Random 클래스를 사용해서 1~45까지의 수를 6개 출력 기능 : 로또
        Console.WriteLine("금주의 로또 : ");
        for (int i = 0; i < 6; i++)
        {
            Console.Write("{0} ", r.Next(45) + 1 ); // 1~45
        } Console.WriteLine();
        // 중복제거해서 출력
        Console.Write("중복제거 : ");

        Random ran = new Random();
        int[] arr = new int[6]; // 6개 데이터
        int temp = 0;
        for (int i = 0; i < 6; i++)
        {
            temp = ran.Next(45) + 1; // 1~45까지
            bool flag = false;
            if (i > 0 && i < 6)
            {
                for (int j = 0; j <= i; j++)
                {
                    if (arr[j] == temp) // 이전 자료와 중복되면 제거
                    {
                        flag = true; // 중복되면, true로 설정
                    }
                }
            }

            if (flag)
            {
                i--; // 중복되었다면, 현재 인덱스를 재반복
            }
            else
            {
                arr[i] = temp; // 중복된 데이터가 없다면 저장
            }
        }
        for (int i = 0; i < 6; i++)
        {
            Console.Write("{0} ", arr[i]);
        } Console.WriteLine();
       
    }
}