본문 바로가기
프로그래밍 문제/c# 문제

c# 문제 37. 2차원 배열 사선 입력 및 출력

by 지나팩 2023. 9. 11.

주어진 2차원 배열의 공간에 사선방향으로 요소를 대입하세요.

 int[,] arr = new int[4, 5];            

int num = 1;

 

출력 예)

코드는 아래에~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

static void Main()
        {
            int[,] arr = new int[4, 5];            

            int yStart = 0;
            int xStart = 0;

            int y = 0;
            int x = 0;
            int num = 1;
          

//입력
           for(int i =0; i < arr.Length; i++)
           {             
                arr[y, x] = num++;
                               
                if (y == 0)
                {
                    if (yStart < arr.GetLength(0) - 1)
                    {
                        yStart++;
                        xStart = 0;
                    }
                    else
                    {
                        if (xStart < arr.GetLength(1) - 1) xStart++;
                    }

                    y = yStart;
                    x = xStart;
                }
                else
                {
                    if(x == arr.GetLength(1) - 1)
                    {
                        if (xStart < arr.GetLength(1) - 1) xStart++;

                        y = yStart;
                        x = xStart;
                    }
                    else
                    {
                        y--;
                        x++;
                    }                  
                }
           }

 

 

//출력
           for(int i = 0; i < 4; i++)
           {
                for(int j = 0; j < 5; j++)
                {
                    Console.Write($"{arr[i, j]}\t");
                }
                Console.WriteLine();
           }
        }

댓글