728x90
반응형
§ 배열 §
using System;
// 1차원 배열 (선언 방법: 타입[] 변수 이름 = new 타입[5];)
class Program
{
static void Main(string[] args)
{
int[] arr = new int[5];
arr[0] = 10;
arr[1] = 30;
arr[2] = 1;
arr[3] = 20;
arr[4] = 20;
// 배열 크기를 명시하고(3) 초기화 ㄱ
string[] array = new string[3] {"aaa", "bbb", "ccc"};
// 배열 크기를 명시하지 않고(3) 초기화 ㄱ
string[] array1 = new string[] { "aaa", "bbb", "ccc" };
// 이것도 하나의 방법이긴 하지만 왠만하면 사용하지 말고 위 2개 거 쓰기 ㄱ
string[] array2 = { "aaa", "bbb", "ccc" };
System.Console.WriteLine(array[0]); // 출력하고 싶을 때 사용하기
}
}
// 2차원 배열
class Program
{
static void Main(string[] args)
{
int[,] arr1 = new int[3, 2]; // 2차원 배열은 ','로 나눠줌
arr1[0, 0] = 1;
arr1[0, 1] = 2;
arr1[1, 0] = 3;
arr1[1, 1] = 4;
arr1[2, 0] = 5;
arr1[2, 1] = 6;
int[,] ary1 = new int[3, 2] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
int[,] ary2 = new int[, ] { { 1, 2 }, { 3, 4 }, { 5, 6 } };
int[,] ary3 = { { 1, 2 }, { 3, 4 }, { 5, 6 } };
// 출력방법 1 : foreach ----- 가장 깔끔하고 간편한 방법. 배열 내에서 특정 값을 추출하려고 할 때, 그리고 모든 걸 다 출력하지 않고 딱 그 부분만 돌려보고 싶을 때 유용함
foreach (var item in arr1)
{
System.Console.WriteLine(item);
}
// 출력방법 2 : 이중 for문
for (int i = 0; i < arr1.GetLength(0); i++)
{
for (int j = 0; j < arr1.GetLength(1); j++)
{
System.Console.WriteLine(arr1[i, j]);
}
}
}
}
// 3차원 배열
class Program
{
static void Main(string[] args)
{
int[,,] arr2 = new int[4, 3, 2]
{
{ {1, 2}, {3, 4}, {5, 6} },
{ {1, 2}, {3, 4}, {5, 6} },
{ {1, 2}, {3, 4}, {5, 6} },
{ {1, 2}, {3, 4}, {5, 6} },
};
//출력방법 1 : foreach
foreach ( var item in arr2 )
{
System.Console.WriteLine(item);
}
//출력방법 2 : 다중 for문
for (int i = 0; i < arr2.GetLength(0); i++)
{
for (int j = 0; j < arr2.GetLength(1); j++)
{
for (int k = 0; k < arr2.GetLength(2); k++)
{
System.Console.WriteLine(arr2[i, j, k]);
}
}
}
}
}
// 가변 배열 - 배열 안에 배열 있는 느낌
// 타입[][] 배열 이름 = new 타입 [길이][ ]
class Program
{
static void Main(string[] args)
{
int[][] ary = new int[3][];
ary[0] = new int[5] { 1, 2, 3, 4, 5 }; // { } 속 내용은 값 초기화 하는 거
ary[1] = new int[3] { 6, 7, 8 };
ary[2] = new int[] { 9, 10 };
foreach (int[] item in ary) // 특정 배열을 뽑아냄
{
foreach (int i in item)
{
System.Console.WriteLine(i);
}
}
}
}
§ 배열 예제 §
using System;
// 2 개의 정수를 입력 받은 후, 둘 중에서 큰 수를 출력하는 프로그램 작성
class MyClass
{
static void Main(string[] args)
{
int num1, num2;
Console.WriteLine("2개의 숫자를 입력하세요. \n");
num1 = int.Parse(Console.ReadLine());
num2 = Convert.ToInt32(Console.ReadLine());
if ( num1 > num2 )
{
Console.WriteLine(num1);
}
else
{
Console.WriteLine(num2);
}
}
}
// 0 ~ 100 사이의 정수를 입력 -> 90 ~ 100 (A), 80 ~ 89 (B), 70 ~ 79 (C), 60 ~ 69 (D), else F 출력
// + 조건 : 0 ~ 100 범위 이탈 시, 재 입력 요구
class MyClass
{
static void Main(string[] args)
{
int num1;
Console.WriteLine("0 ~ 100 사이의 값 한개를 입력하세요.");
num1 = Convert.ToInt32(Console.ReadLine());
do
{
Console.WriteLine("0 ~ 100 사이의 값 한개를 입력하세요.");
num1 = Convert.ToInt32(Console.ReadLine());
}
while (num1 < 0 || num1 > 100);
if (num1 >= 90)
{
if (num1 == 100)
{
Console.WriteLine("A+");
}
else
{
Console.WriteLine("A");
}
}
else if (num1 >= 80 )
{
Console.WriteLine("B");
}
else if (num1 >= 70)
{
Console.WriteLine("C");
}
else if (num1 >= 60)
{
Console.WriteLine("D");
}
else
{
Console.WriteLine("F");
}
else if(num1 > 100 || num1 < 0)
{
Console.WriteLine("잘못 입력하셨습니다. 범위내에서 입력하세요");
num1 = Convert.ToInt32(Console.ReadLine());
}
}
}
'C# > C# 강의 정리' 카테고리의 다른 글
C# 매개 변수 ref, out, method overloading (0) | 2020.12.27 |
---|---|
C# 제어문 (0) | 2020.12.27 |
C# 함수 (0) | 2020.12.27 |
C# mutable type, immutable type (0) | 2020.12.27 |
C# 문자열 (0) | 2020.12.27 |