Problem

1 /12


Apakah matriks? Penciptaan, paparan

Theory Click to read/hide

Pengenalan 
Selalunya, apabila bekerja dengan sebarang maklumat, anda perlu berurusan dengan data jadual. Program moden selalunya berfungsi dengan data sedemikian. Contoh paling mudah ialah permainan pengaturcaraan pada papan berkotak-kotak: tic-tac-toe, catur, dam, dsb.

Dalam matematik, struktur sedemikian dipanggil matriks.
 
Matriks ialah jadual segi empat tepat yang terdiri daripada unsur-unsur jenis yang sama (nombor, rentetan, dsb. .)< /div>
Data sedemikian dalam Pascal boleh disimpan dan diproses sebagai tatasusunan dua dimensi - "tatasusunan tatasusunan".
Untuk memproses data dalam jadual, adalah perlu untuk mengingati keadaan setiap sel (sel). Setiap sel mempunyai dua nombor: nombor baris dan nombor lajur.
Dalam matriks, setiap elemen mempunyai dua indeks: pertama nombor baris ditunjukkan, kemudian nombor lajur. Penomboran baris dan lajur bermula dari sifar.
Sebagai contoh, elemen A[1][2] ialah elemen yang terletak di baris kedua dan lajur ketiga.

Sama seperti tatasusunan biasa (senarai), untuk berfungsi dengan matriks, anda perlu belajar cara mencipta, memasukkan, memproses dan memaparkannya.
 
Penciptaan matriks
Tugas
Buat dalam ingatan matriks saiz yang diberikan diisi dengan sifar.

Untuk mencipta matriks dengan betul, anda perlu memaksa pengkompil untuk mencipta semua rentetan dalam ingatan sebagai objek berbeza.
Untuk melakukan ini, anda mesti mencipta tatasusunan kosong dahulu, kemudian nyatakan bilangan baris dalam matriks, dan kemudian nyatakan bilangan elemen dalam setiap baris menggunakan kaedah setLength() dalam gelung: N := 3 M := 2 setLength(A, N); untuk i := 0 hingga N - 1 lakukan   setLength(A[i], M);

 

Mengisi matriks dengan nilai arbitrari
Selepas mencipta matriks, anda boleh mengisinya dengan nilai sewenang-wenangnya. Oleh kerana setiap elemen mempunyai dua indeks, adalah perlu untuk menggunakan gelung bersarang untuk i := 0 hingga N bermula untuk j := 0 hingga M bermula A[i][j] := ...   akhir; akhir;  
Memaparkan matriks

Dua gelung bersarang biasanya digunakan untuk memproses dan memaparkan senarai. Kitaran pertama adalah dengan nombor baris, kitaran kedua adalah dengan unsur-unsur di dalam garisan.
Untuk memaparkan matriks baris demi baris, memisahkan nombor dengan ruang dalam satu baris, anda perlu menulis serpihan berikut:

for i := 0 to length(A) - 1 do begin // length(A) - mengembalikan bilangan baris dalam matriks A     for j := 0 to length(A[i]) - 1 do // length(A[i]) - mengembalikan bilangan elemen dalam rentetan i         tulis(a[i][j], ' ');     writeln(); // lakukan baris baharu selepas baris dipaparkan akhir;

Sama, tetapi kitaran bukan mengikut indeks, tetapi mengikut nilai senarai (gelung for boleh berulang ke atas semua elemen dalam senarai (tatasusunan), rentetan):

untuk baris dalam a mulakan // lelaran ke atas semua baris matriks a     untuk elem dalam baris lakukan // gelung melalui semua elemen dalam baris         tulis(elemen, ' ');     writeln(); tamat;

Problem

Isi matriks binari (terdiri daripada sifar dan satu sahaja) dalam corak papan dam. Perlu ada unsur nol di penjuru kiri sebelah atas.
 

Input
Rentetan input mengandungi dimensi matriks yang dipisahkan ruang: bilangan baris N dan bilangan lajur M ( 1 < = N ,  ;M <= 100 ).
 

Cetakan 
Program ini harus mengeluarkan matriks binari baris demi baris.
 

Contoh
# Input Output
1 4 5 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1