Introducción.

Muy a menudo, cuando se trabaja con cualquier información, tiene que lidiar 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.

 
Matrix es una tabla rectangular compuesta por elementos del mismo tipo (números, cadenas, etc.).< / span>

Dichos datos en C# 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 las matrices regulares, para trabajar con matrices, debe aprender a crearlas, ingresar, procesar y mostrar.

Cree una matriz.

Es posible crear una matriz  en memoria de un tamaño dado lleno de algunos valores iniciales.

int[,] matriz = new int[4, 2]; // 4 filas, 2 columnas

 

Después de crear una matriz, puede llenarla con valores arbitrarios. Dado que cada elemento tiene dos índices, es necesario utilizar bucles anidados

para (int i=1; i <= N, i++) { / / N - número de líneas for (int j=1; j <= N, j++) { // M es el número de columnas A[yo, j] = ...   } } Mostrando la matriz.

Por lo general, se usan dos bucles anidados para procesar y mostrar la lista. El primer ciclo está en el número de línea, el segundo ciclo está en los elementos dentro de la línea.  Para mostrar la matriz en la pantalla línea por línea, separando los números con espacios dentro de una línea, debe escribir el siguiente fragmento:
  para (int i=1; i <= N, i++) { para (int j=1; j <= N, j++) { Consola Write(A[i, j] + " ");   }   Consola.WriteLine(); // pasar a una nueva linea }

Puede hacer lo mismo, pero use bucles de lista en lugar de índice ( foreach). Intente escribir una subrutina que implemente esto usted mismo.

Rellenar una matriz con valores desde el teclado.

Deje que el programa reciba una matriz bidimensional como entrada, en la forma < em>n cadenas, cada una de las cuales contiene m números separados por espacios. ¿Cómo contarlos? Por ejemplo, así:

int[,] array = new int[n,m]; // crea una matriz para poblar para (int i = 0; i <  n; i++) {        cadena A = Console.ReadLine(); // leer línea        int[] curr = A.Split(' ').Select(int.Parse).ToArray(); // convierte esta cadena en una matriz unidimensional curr        para (int j = 0; j < m; j++)        {            matriz[i, j] = corriente[j]; // completa la cadena de la matriz que necesitamos con los valores de la matriz actual        } }

 

Cada elemento de la matriz tiene dos índices, por lo que debe usar un ciclo anidado para iterar todos los elementos.
Por lo general, una matriz se itera fila por fila: el ciclo externo itera sobre los índices de fila, mientras que el ciclo interno itera sobre los índices de columna.
Pero si es necesario, se puede iterar sobre la matriz y por columnas, luego se invierten los ciclos.