CHIP KIDD

[C#] 4. 2차원 배열 본문

전기전자/C# 시각화프로그래밍

[C#] 4. 2차원 배열

쑨야미 2021. 4. 14. 19:01
using System;

namespace Day02_01_2차원_배열
{
    class Program
    {
        // 생존범위 : 지역변수, 전역변수(인스턴스 변수, 클래스 변수)
        static void printImage(int[,] img)
        {
            Console.WriteLine();
            for (int i = 0; i < 10; i++)
            {
                for (int k = 0; k < 10; k++)
                {
                    Console.Write("{0:d3} ", img[i, k]);
                }
                Console.WriteLine();
            }
        }
        static void Main(string[] args)
        {
            Random r = new Random();
            // 128x128, 256x256, 512x512
            int ROW = r.Next(1, 513), COL = r.Next(1, 513);
            // 1부터 25까지 채우기.
            int[,] image = new int[ROW, COL];
            for (int i = 0; i < ROW; i++)
            {
                for (int k = 0; k < COL; k++)
                {
                    image[i,k] = r.Next(0,256);                    
                }
            }
            // 출력하기
            printImage(image);
            // 밝게하고 출력하기
            for(int i=0; i<ROW; i++)
            {
                for (int k=0; k<COL; k++)
                {
                    if (image[i, k] + 50 > 255)  // Overflow
                    {
                        image[i, k] = 255;
                    } else
                    {
                        image[i, k] = image[i, k] + 50;
                    }
                }
            }
            // 출력하기
            printImage(image);
            // 어둡게하고 출력하기.
        }
    }
}