Problem

1 /12


một ma trận là gì? Sáng tạo, hiển thị

Theory Click to read/hide

Giới thiệu.

Thông thường, khi làm việc với bất kỳ thông tin nào, bạn phải xử lý dữ liệu dạng bảng. Các chương trình hiện đại thường hoạt động với dữ liệu như vậy. Ví dụ đơn giản nhất là lập trình trò chơi trên bàn cờ ca rô: tic-tac-toe, cờ vua, cờ đam, v.v.

Trong toán học, những cấu trúc như vậy được gọi là ma trận.

 
Ma trận là một bảng hình chữ nhật bao gồm các phần tử cùng loại (số, chuỗi, v.v.).< /span>

Dữ liệu như vậy trong C# có thể được lưu trữ và xử lý dưới dạng mảng hai chiều - "mảng của mảng" .
Để xử lý dữ liệu trong bảng, cần nhớ trạng thái của từng ô (cell). Mỗi ô có hai số: số hàng và số cột.
Trong ma trận, mỗi phần tử có hai chỉ số: đầu tiên là số hàng, sau đó là số cột. Việc đánh số hàng và cột bắt đầu từ số 0.
Ví dụ: phần tử A[1, 2] là phần tử nằm ở hàng thứ hai và cột thứ ba.

Cũng giống như mảng thông thường, để làm việc với ma trận, bạn cần học cách tạo chúng, nhập, xử lý và hiển thị.

Tạo ma trận. Có thể tạo một ma ​​trận trong bộ nhớ của một kích thước nhất định chứa đầy một số giá trị ban đầu.

int[,] mảng = int mới[4, 2]; // 4 hàng, 2 cột

 

Sau khi tạo ma trận, bạn có thể điền giá trị tùy ý vào ma trận. Vì mỗi phần tử có hai chỉ mục nên cần sử dụng các vòng lặp lồng nhau

for (int i=1; i <= N, i++) {/ / N - số dòng for (int j=1; j <= N, j++) { // M là số cột A[i, j] = ...   } } Hiển thị ma trận.

Hai vòng lặp lồng nhau thường được sử dụng để xử lý và hiển thị danh sách. Vòng lặp đầu tiên nằm trên số dòng, vòng lặp thứ hai nằm trên các phần tử trong dòng.  Để xuất ma trận lên màn hình theo từng dòng, phân tách các số bằng dấu cách trong một dòng, bạn cần viết đoạn sau:
  for (int i=1; i <= N, i++) { for (int j=1; j <= N, j++) { Console.Write(A[i, j] + " ");   }   Console.WriteLine(); // chuyển sang dòng mới }

Bạn có thể làm tương tự nhưng sử dụng vòng lặp danh sách thay vì chỉ mục ( diễn giải). Cố gắng viết một chương trình con tự thực hiện điều này.

Problem

Điền ma trận nhị phân (chỉ gồm các số 0 và 1) vào bàn cờ mẫu. Nên có một phần tử null ở góc trên bên trái.

Dữ liệu đầu vào: dòng đầu vào chứa các kích thước ma trận được phân tách bằng dấu cách: số hàng  và số cột ( 1 <= M < ;=< /em> 100 ).

Đầu ra: Chương trình sẽ xuất ra từng hàng một ma trận nhị phân.

Ví dụ. <đầu>
# Đầu vào Đầu ra
1 4 5 0 1 0 1 0
1 0 1 0 1
0 1 0 1 0
1 0 1 0 1