2006년 10월 22일
using System;
using System.Collections.Generic;
using System.Text;
namespace ExMatrix
{
class Program
{
static void InitializeMatrix(ref int[,] arr, int n)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
{
arr[i, j] = 0;
}
}
}
//static void FillMatrix(ref int[,] arr, int n)
//{
// int k = 1;
// for (int i = 0; i < n; i++)
// {
// for (int j = 0; j <= i; j++)
// {
// arr[i, j] = k++;
// }
// }
//}
static void FillMatrix(ref int[,] arr, int n)
{
int k = 1;
for (int i = 0; i < n; i++)
{
if (i < n / 2)
{
for (int j = 0; j <= i; j++)
{
arr[i, j] = k++;
}
for (int j = n-1 -i; j < n; j++)
{
arr[i, j] = k++;
}
}
else
{
for (int j = 0; j <= n-1-i; j++)
{
arr[i, j] = k++;
}
if (n % 2 == 1 && i == n/2) k--; //$$$$$$$
for (int j = i; j < n ; j++)
{
arr[i, j] = k++;
}
}
}
}
static void PrintMatrix(int[,] arr, int n)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n-1; j++)
{
Console.Write((arr[i, j].ToString("000") + " "));
}
Console.WriteLine(arr[i, n-1].ToString("000"));
}
}
static void Main(string[] args)
{
// 선언
//Console.WriteLine(args[0]);
int N = int.Parse(args[0]);
int[,] M = new int[N, N];
// 초기화
InitializeMatrix(ref M, N);
// 작업
FillMatrix(ref M, N);
// 출력
PrintMatrix(M, N);
Console.ReadLine();
}
}
}
# by 재연 | 2006/10/22 16:41 | Study | 트랙백 | 덧글(0)