// 가까운값(NEAR) : 차이값의 절대값의 최소값...
using System;

public class 가까운값
{
    public static void Main()
    {
        //[1] Input
        int[] data = { 10, 20, 30, 27, 17 };
        int target = 25; // target과 가까운 값
        int near = 0; // 가까운값 : 27
        int min = Int32.MaxValue; // 차이값의 절대값의 최소값
        //[2] Process : NEAR
        for (int i = 0; i < data.Length; i++)
        {
            if (Abs(data[i] - target) < min) // 최소값 알고리즘
         {
                min = Abs(data[i] - target); // 최소값 알고리즘
                near = data[i]; // 최종적으로 가까운값
         }
           
        }
        //[3] Output
        Console.WriteLine("{0}와 가까운 값 : {1}", target, near); //25, 27
    }
    public static int Abs(int num)
    {
        return (num < 0) ? -num : num;
    }
}

'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글

알고리즘 - 수열예제  (0) 2009.08.06
알고리즘 - 7. 최빈값  (0) 2009.08.06
29. 구조체를 이용한 카운트 알고리즘  (0) 2009.08.06
28. 열거형  (0) 2009.08.06
27. 문자구조체  (0) 2009.08.06
Posted by holland14
:
using System;

public struct Data
{
   public static int[] Num;    // 원본데이터(배열이 담긴 그릇)
    public static int Count;    // 짝수의 개수가 담길그릇
}

public class 카운트
{

    public static void Main()
    {
        //Data.Num = new int[] { 1, 2, 3, 4, 5 };

        //for (int i = 0; i < Data.Num.Length; i++)
        //{
        //    if (Data.Num[i] % 2 == 0)
        //    {
        //        Data.Count++;
        //    }

        Exec();

        //}
        Console.WriteLine("짝수 건수: {0}", Data.Count);
    }

    public static void Exec()
    {
        Data.Num = new int[] { 1, 2, 3, 4, 5 };

        for (int i = 0; i < Data.Num.Length; i++)
        {
            if (Data.Num[i] % 2 == 0)
            {
                Data.Count++;
            }

 

        }

    }
}

 

'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글

알고리즘 - 7. 최빈값  (0) 2009.08.06
알고리즘 - 6. 가까운값(NEAR)  (0) 2009.08.06
28. 열거형  (0) 2009.08.06
27. 문자구조체  (0) 2009.08.06
26. 날짜관련구조체  (0) 2009.08.06
Posted by holland14
:

열거형.cs

using System;

public struct Order
{
    public int OrderID;      // 주문번호
    public string Name;      // 주문자
    public 주문상태 Status; // 주문상태
}

public class 열거형
{
    public static void Main(string[] args)
    {
        Console.WriteLine(결제방법.카드);
        Console.WriteLine((int)결제방법.카드);
        Order first;
        first.OrderID = 1;
        first.Name = "홍길동";
        first.Status = 주문상태.신규;
        // 주문완료 후 배송이 완료되었다면..
        first.Status = 주문상태.주문완료;
    }
}

=================================================================

 Enum.cs
 

/* 결제방법 : 카드, 휴대폰, 무통장입금
   주문상태 : 신규주문, 배송중, 주문완료 */

public enum 결제방법
{
    카드,   // 0
    휴대폰, // 1
    통장,   // 2
    포인트  // 3  
}

public enum 주문상태
{
    신규 = 1,     // 1
    입금완료,    // 2
    배송중 = 5,  // 5
    주문취소,    // 6
    주문완료 = 8  // 8
}

'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글

알고리즘 - 6. 가까운값(NEAR)  (0) 2009.08.06
29. 구조체를 이용한 카운트 알고리즘  (0) 2009.08.06
27. 문자구조체  (0) 2009.08.06
26. 날짜관련구조체  (0) 2009.08.06
25. Address 구조체  (0) 2009.08.06
Posted by holland14
:

using System;

public class 문자구조체
{
    public static void Main()
    {
        // 특정 문자에 대해서 숫자형인지, 기호인지 등을 판단
        char c = '1';
        Console.WriteLine(Char.IsDigit(c)); // True
        Console.WriteLine(Char.IsLower(c)); // 소문자? false

        Console.WriteLine("문자 하나 입력... _\b");
        char data = Convert.ToChar(Console.ReadLine());
        if (char.IsLower(data))
        {
            Console.WriteLine("소문자");
        }
        else if (Char.IsPunctuation(data))
        {
            Console.WriteLine("기호문자");
        }

        string s = "Abc";
        if (Char.IsUpper(s, 0))
        {
            Console.WriteLine("첫자가 대문자군요...");
        }
    }
}

'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글

29. 구조체를 이용한 카운트 알고리즘  (0) 2009.08.06
28. 열거형  (0) 2009.08.06
26. 날짜관련구조체  (0) 2009.08.06
25. Address 구조체  (0) 2009.08.06
24. 구조체확장  (0) 2009.08.06
Posted by holland14
:

using System;

public class 날짜관련구조체
{
    public static void Main(string[] args)
    {
        //[1] 현재 시간/날짜 관련 모든 정보를 알고싶다면??? DateTime
        Console.WriteLine("전체 : {0}", DateTime.Now.ToString() );
        DateTime dt = DateTime.Now; // DateTime형 변수 선언
        Console.WriteLine("{0}년 {1}월 {2}일 {3}시 {4}분 {5}초"
                          , DateTime.Now.Year   // 정적(Static)인 접근
                          , DateTime.Now.Month
                          , DateTime.Now.Day
                          , dt.Hour     // 인스턴스(Instance) 접근
                          , dt.Minute   // 변수를 통한 접근
                          , dt.Second   // 변수 선언 후 변수명으로 접근
                          );
        //[2] 시간차를 구하고 싶다??? TimeSpan 구조체
        // 몇일 살아왔는지??
        TimeSpan ts = DateTime.Now - Convert.ToDateTime("1982-02-05");
        Console.WriteLine("나는 {0}일 살았습니다." , ts.TotalDays);
        // 우리 과정이 몇일 남았는지? 2010/01/20
        TimeSpan dday = Convert.ToDateTime("2010-01-20") - DateTime.Now;
        Console.WriteLine("과정이 {0}일 남았습니다. 화이팅", dday.Days);
        //[3] 앞으로 100일 후의 날짜???
        Console.WriteLine("앞으로 100일 : {0}"
            , DateTime.Now.AddDays(100).ToShortDateString());
    }
}

'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글

28. 열거형  (0) 2009.08.06
27. 문자구조체  (0) 2009.08.06
25. Address 구조체  (0) 2009.08.06
24. 구조체확장  (0) 2009.08.06
23. 구조체 선언  (0) 2009.08.06
Posted by holland14
:
/// <summary>
/// Address 구조체: 이름, 나이, 성별 등을 저장
/// 작성자 :
/// 작성일 :
/// 변경사항 :
/// </summary>
// 구조체 선언
public struct Address
{
    /// <summary>
    /// Name : 이름을 저장
    /// </summary>
    public string Name;
    /// <summary>
    /// 나이를 저장
    /// </summary>
    public int Age;
    /// <summary>
    /// Gender 필드는 'M' 또는 'F'를 입력하시오.
    /// </summary>
    public char Gender; // M,F
}

'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글

27. 문자구조체  (0) 2009.08.06
26. 날짜관련구조체  (0) 2009.08.06
24. 구조체확장  (0) 2009.08.06
23. 구조체 선언  (0) 2009.08.06
22. 제곱 구하는 함수 프로그램  (0) 2009.08.05
Posted by holland14
:

using System;

public class 구조체확장
{
    public static void Main()
    {
        // 구조체 형식으로 변수 선언할 수 있다.
        Address addr;
        // 변수 초기화
        addr.Name = "홍";
        addr.Age = 21;
        addr.Gender = 'M';
        // 변수 참조...
        // 생략
        // 구조체 형식 배열 선언
        Address[] addrs = new Address[2]; // {{name,age,gender},{name,age,gender}} int[] names =new int[2];의 형식과 비교해볼 것
        // 구조체 배열 초기화
        addrs[0].Name = "백";
        addrs[0].Age = 100;
        addrs[0].Gender = 'F';
        addrs[1].Name = "한";
        addrs[1].Age = 50;
        addrs[1].Gender = 'M';
        //Address a1; a1.Name = "백"; al.Age = 100; a1.Gender = 'M';
        //Address a2; a2.Name = "한"; a2.Age = 50; a2.Gender = 'F';
        //Address[] addrs = new Address[2] {a1, a2} // Address형 배열 "addrs"
        //출력
        for (int i = 0; i < addrs.Length; i++)
        {
            Console.WriteLine("{0}, {1}", addrs[i].Name, addrs[i].Age);
        }
    
    }
  
}

// ⅰ. static붙이면 : 정적 접근이 가능, 점(.)찍었을 때 멤버가 노출
// ⅱ. static빼면 : 인스턴스(변수 선언해야 사용) 접근이 가능

Posted by holland14
:
using System;
//[!] 구조체 선언
public struct Member    // Member라는 구조
{
    public static string Name; // Name이라는 필드(전역변수, 멤버변수)
    public static int Age; // Age Field, Global Variable, Member Variable
}
public class 구조체
{
    public static void Main()
    {
        //[1] 변수(로컬변수(Local Variable))
        int num = 1234;
        //[2] 배열
        string[] names = {"홍길동", "백두산", "임꺽정" };
        //[3] 구조체 사용
        Member.Name = "한라산"; Member.Age = 21;
        //[!] 출력
        Console.WriteLine("{0}", num);
        foreach (string name in names)
        {
            Console.WriteLine("{0}", name);
        }
        Console.WriteLine("{0}, {1}", Member.Name, Member.Age);
    }
}
Posted by holland14
:


using System;

public class 제곱
{
    public static void Main()
    {

        // 2의 10승 : 1024
        // 2의 20승 : 1048576
        // 3의 3승 : 3 * 3 * 3 =27
        Console.WriteLine(Math.Pow(2, 20)); // 1048576
       
        // 아래 함수를 만들자.
        Console.WriteLine(MyPow(2, 10)); // 1024
        Console.WriteLine(MyPow(3, 3)); // 27
        Console.WriteLine(MyPow(2, 20)); // 1048576
    }
    // MyPow 함수를 설계해 보시오... 시행착오법을 거치세요...
    public static int MyPow(int a, int b)
    {
        int result = 1; // 1로 초기화
        for (int i = 0; i < b; i++)
        {
            result *= a; // 1 * a * a * ...
        }
        return result;
    }

}

Posted by holland14
:

using System;

public class 합계
{
    public static void Main()
    {
        //[1] Input
        int[] data = new int[3];
        for (int i = 0; i < data.Length; i++)
        {
            Console.Write("{0}번째 정수 입력 : __\b\b", (i+1) );
            data[i] = Convert.ToInt32(Console.ReadLine()); // 정수형으로 변환
        }
        int sum = 0;
        //[2] Process
        sum = Hap(data); // 매개변수로 배열을 전달
        //[3] Output
        Console.WriteLine("합계 : {0}", sum);
    }
    public static int Hap(int[] data)
    {
        int sum = 0;
        for (int i = 0; i < data.Length; i++)
        {
            sum += data[i];
        }
        return sum;
    }
}

'.NET프로그래밍 > C# 3.5 SP1' 카테고리의 다른 글

23. 구조체 선언  (0) 2009.08.06
22. 제곱 구하는 함수 프로그램  (0) 2009.08.05
20. 절대값 구하기 함수 예제  (0) 2009.08.05
19. 반환값이 있는 함수  (0) 2009.08.05
18. 매개변수가 있는 함수  (0) 2009.08.05
Posted by holland14
: