Problem

1 /12


행렬이란 무엇입니까? 창조, 전시

Theory Click to read/hide

소개.

정보로 작업할 때 매우 자주 표 형식 데이터를 처리해야 합니다. 최신 프로그램은 이러한 데이터로 작업하는 경우가 많습니다. 가장 간단한 예는 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 요소가 있어야 합니다.

입력 데이터: 입력 행에 공백으로 구분된 행렬 크기 포함: 행 수  및 열 수 ( 1 <= M < ;=< /em> 100 ).

출력: 프로그램은 행별로 이진 행렬을 출력해야 합니다.

예. <헤드> <몸>
# 입력 출력
1 4 5 0 1 0 1 0
10101
0 1 0 1 0
1 0 1 0 1