행렬이란 무엇입니까? 창조, 전시
소개.
정보로 작업할 때 매우 자주 표 형식 데이터를 처리해야 합니다. 최신 프로그램은 이러한 데이터로 작업하는 경우가 많습니다. 가장 간단한 예는 tic-tac-toe, 체스, 체커 등 체크 무늬 보드에서 게임을 프로그래밍하는 것입니다.
수학에서는 이러한 구조를 행렬이라고 합니다.
매트릭스 는 동일한 유형의 요소(숫자, 문자열 등)로 구성된 직사각형 테이블입니다.< /스팬>
C#의 이러한 데이터는 2차원 배열("배열의 배열")로 저장하고 처리할 수 있습니다. .
테이블의 데이터를 처리하려면 각 셀(셀)의 상태를 기억해야 합니다. 각 셀에는 행 번호와 열 번호의 두 가지 숫자가 있습니다.
행렬에서 각 요소에는 두 개의 인덱스가 있습니다. 먼저 행 번호가 표시된 다음 열 번호가 표시됩니다. 행과 열의 번호 매기기는 0부터 시작합니다.
예를 들어 A[1, 2]
요소는 두 번째 행과 세 번째 열에 위치한 요소입니다.
일반 배열과 마찬가지로 행렬을 사용하려면 행렬 생성을 배워야 합니다. 입력, 처리 및 표시합니다.
행렬을 만듭니다. 스팬 >
다음과 같은 메모리 내 매트릭스를 생성할 수 있습니다. 일부 초기 값으로 채워진 주어진 크기.
int[,] 배열 = new int[4, 2]; // 4행 2열
<사업부>
행렬을 만든 후 임의의 값으로 채울 수 있습니다. 각 요소에는 두 개의 인덱스가 있으므로 중첩 루프를 사용해야 합니다.
<예비>
for (int i=1; i <= N, i++) { / / N - 줄 수
for (int j=1; j <= N, j++) { // M은 열의 수입니다.
A[i, j] = ...
}
}코드>
스팬>스팬>프리>
행렬을 표시합니다.
일반적으로 두 개의 중첩 루프가 목록을 처리하고 표시하는 데 사용됩니다. 첫 번째 루프는 줄 번호에 있고 두 번째 루프는 줄 내의 요소에 있습니다. 행렬을 한 줄씩 화면에 출력하려면 한 줄 내에서 숫자를 공백으로 구분하고 다음 조각을 작성해야 합니다.
<예비>
for (int i=1; i <= N, i++) {
for (int j=1; j <= N, j++) {
Console.Write(A[i, j] + " ");
}
Console.WriteLine(); // 새 줄로 이동
}
스팬>코드>스팬>프리>
동일하게 할 수 있지만 index ( foreach코드>). 이를 직접 구현하는 서브루틴을 작성해 보십시오.
Problem
바둑판에 이진 행렬(0과 1로만 구성됨) 채우기 무늬. 왼쪽 상단에 null 요소가 있어야 합니다.
입력 데이터: 입력 행에 공백으로 구분된 행렬 크기 포함: 행 수 N 및 열 수 M ( 1 <= N , M < ;=< /em> 100 ).
출력: 프로그램은 행별로 이진 행렬을 출력해야 합니다. 스팬>
예.
<헤드>
# |
입력 |
출력 |
것>
<몸>
1 |
4 5 |
0 1 0 1 0
10101
0 1 0 1 0
1 0 1 0 1
|
테이블>