Problem

1 /12


¿Qué es una matriz? creación, exhibición

Theory Click to read/hide

Introducción
Muy a menudo, cuando se trabaja con cualquier información, debe tratar con datos tabulares. Los programas modernos muy a menudo trabajan con tales datos. El ejemplo más simple es la programación de juegos en un tablero de ajedrez: tres en raya, ajedrez, damas, etc.

En matemáticas, tales estructuras se denominan matrices.
 
Una matriz es una tabla rectangular formada por elementos del mismo tipo (números, cadenas, etc. .)< /div>
Dichos datos en Pascal se pueden almacenar y procesar como matrices bidimensionales: "matrices de matrices".
Para procesar los datos en la tabla, es necesario recordar el estado de cada celda (celda). Cada celda tiene dos números: un número de fila y un número de columna.
En la matriz, cada elemento tiene dos índices: primero se indica el número de fila, luego el número de columna. La numeración de filas y columnas comienza desde cero.
Por ejemplo, el elemento A[1][2] es el elemento ubicado en la segunda fila y la tercera columna.

Al igual que con los arreglos ordinarios (listas), para trabajar con matrices, debe aprender a crearlas, ingresarlas, procesarlas y mostrarlas.
 
Creación de matrices
Tarea
Crea en la memoria una matriz del tamaño dado llena de ceros.

Para crear una matriz correctamente, debe obligar al compilador a crear todas las cadenas en la memoria como objetos diferentes.
Para hacer esto, primero debe crear una matriz vacía, luego especificar la cantidad de filas en la matriz y luego especificar la cantidad de elementos en cada fila usando el método setLength() en un bucle: norte := 3 METRO := 2 establecerLongitud(A, N); para i := 0 a N - 1 hacer   establecerLongitud(A[i], M);

 

Llenar una matriz con valores arbitrarios
Después de crear una matriz, puede llenarla con valores arbitrarios. Dado que cada elemento tiene dos índices, es necesario utilizar bucles anidados para i := 0 a N empiezan para j := 0 a M empiezan A[i][j] := ...   fin; fin;  
Mostrando la matriz

Por lo general, se utilizan dos bucles anidados para procesar y mostrar la lista. El primer ciclo es por el número de línea, el segundo ciclo es por los elementos dentro de la línea.
Para mostrar la matriz línea por línea, separando los números con espacios dentro de una línea, necesita escribir el siguiente fragmento:

for i := 0 to length(A) - 1 do begin // length(A) - devuelve el número de filas en la matriz A     for j := 0 to length(A[i]) - 1 do // length(A[i]) - devuelve el número de elementos en la cadena i         escribe(a[i][j], ' ');     escribirln(); // hacer una nueva línea después de que se muestre la línea fin;

Lo mismo, pero los ciclos no son por índice, sino por valores de lista (el bucle for puede iterar sobre todos los elementos de la lista (matriz), cadena):

for row in a do begin // iterar sobre todas las filas de la matriz a     for elem in row do // recorre todos los elementos de la fila         escribir(elemento, ' ');     escribirln(); fin;

Problem

Rellene una matriz binaria (que consta solo de ceros y unos) en un patrón de tablero de ajedrez. Debe haber un elemento nulo en la esquina superior izquierda.
 

Entrada
La cadena de entrada contiene dimensiones separadas por espacios de la matriz: el número de filas N y el número de columnas M ( 1 < = N ,  ;M <= 100 ).
 

Impresión 
El programa debe generar la matriz binaria fila por fila.
 

Ejemplos
# Entrada Salida
1 4 5 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1