using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Ex09Array
{
class Program
{
static void Main(string[] args)
{
Random r = new Random(); //난수발생기 선언
int[] ar = new int[10];
for (int i = 0; i < 10; i++)
{
ar[i] = r.Next(100, 1000); // 100 ~ 999 사이의 난수
// Next 지정된 범위 내의 난수를 발생
}
for (int i = 0; i < 10; i++)
{
Console.WriteLine("ar[{0}] = {1}", i, ar[i]);
}
// ★ 9/13 ★ 추가부분 ***************************************
//2. 다차원 배열
int[,] ar2 = new int[5, 4]; // 2차원 배열 (정방형)5개에 배열에 1개에 4칸씩
// int[,,] ar3= new int[5, 4, 3]; // 3차원 배열
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 4; j++)
{
ar2[i, j] = r.Next(100, 1000);
}
}
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 4; j++)
{
Console.Write("{0, -5}", ar2[i, j]); // -5는 왼쪽정렬 5칸 , 5는 오른쪽 정렬
}
Console.WriteLine();
}
//3. 배열 초기화
//int x;
//x = 10; // 할당, 대입
//int y = 10; // 초기화 (변수 선언 시점에 특정한 데이터를 저장)
int[] ar3 = new int[10]{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
//int[] ar3 = new int[]{ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; // 갯수미지정 초기화
//int[] ar3 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
for (int i = 0; i < 10; i++) // 배열의 초기화
{
Console.WriteLine("{0, -3}", ar3[i]);
}
Console.WriteLine();
int[,] ar3_1 = new int[2,3]{ {1, 2, 3}, {4, 5, 6} }; // 2개의 배열에 3개의 자료
for (int i = 0; i < 2; i++)
{
for(int j = 0; j < 3; j++)
{
Console.WriteLine("{0, -3}", ar3_1[i, j]);
}
Console.WriteLine();
}
//4. 배열 지원 메서드 & 프로퍼티
// Array.Length : 요소의 갯수 반환(그 변수의 갯수를 받아온다)
// Array.Sort() : 1차원 배열을 오름차순으로 정렬
// Array.Reverse() : 요소의 순서를 반대방향으로 정렬
// Array.IndexOf() : 요소내의 데이터 위치를 반환(잘못된 위치는 -1 반환)
int[] ar4 = new int[10];
for (int i = 0; i < ar4.Length; i++) // 값을 직접 입력하는건 피하는게 좋다(변수나 다른걸로 처리가 좋다)
{
ar4[i] = r.Next(100, 1000); // 100 ~ 999 사이의 난수
}
for (int i = 0; i < ar4.Length; i++)
{
Console.WriteLine("ar[{0}] = {1}", i, ar4[i]);
}
Array.Sort(ar4); // 배열을 정리!! (단 1차원 배열 오름차순)
Array.Reverse(ar4); // 배열의 순서를 반대로 만든다( 오름차수 후 하면 내림차순이 된다)
Console.WriteLine("After Sorting");
for (int i = 0; i < ar4.Length; i++)
{
Console.WriteLine("ar[{0}] = {1}", i, ar4[i]);
}
Console.WriteLine("검색할 숫자를 입력하세요 : ");
int number = int.Parse(Console.ReadLine());
int position = Array.IndexOf(ar4, number);
Console.WriteLine("{0}은 {1}위치에 있습니다.", number, position);
}
}
}
/****************************************************************
* 배열
* 1. 동일한 자료형의 데이터 집합
* 2. 생성시점에 크기가 결정되어야 한다.
* 3. 배열은 참조형 입니다. (클래스의 객체)
* 4. 형식 : 자료형 이름 = new 자료형[갯수];
* 예) int[] ar = new int[10];
* 5. 배열의 요소들은 연속된 메모리 공간에 할당됩니다.
* 6. 배열의 요소로 다른 배열을 사용하는 것이 가능합니다.(다차원 배열)
* 7.
*
* **************************************************************/
'프로그램 > C# - Study' 카테고리의 다른 글
6D - private, pubic 접근 (0) | 2010.09.13 |
---|---|
객체지향은? (0) | 2010.09.13 |
Report01 - 로또생성기 확인버젼 (0) | 2010.09.10 |
Report01 - 로또생성기 (0) | 2010.09.10 |
5D - 배열 (0) | 2010.09.10 |