Latest web development tutorials

matrices multidimensionales C ++

Matriz C ++ Matriz C ++

C ++ es compatible con matrices multidimensionales. La forma general de una declaración de matriz multidimensional es el siguiente:

type name[size1][size2]...[sizeN];

Por ejemplo, la siguiente sentencia crea una matriz tridimensional de 5104 enteros .:

int threedim[5][10][4];

matriz bidimensional

La forma más simple de una matriz multidimensional es una matriz de dos dimensiones. Una matriz de dos dimensiones, en esencia, es una lista de matriz unidimensional. X columna de la fila y declaró una matriz bidimensional de enteros en el siguiente formulario:

type arrayName [ x ][ y ];

En donde, el tipo puede ser cualquier tipode datos C ++válidas,nombreArray es un identificador válido C ++.

Una matriz bidimensional puede ser considerado una forma x fila y columna con y. Aquí es una matriz bidimensional que contiene 3 filas y 4:

matriz bidimensional en C ++

Por lo tanto, cada elemento de la matriz es el uso de la forma a [i, j] nombres de los elementos para identificar cuando un nombre es una matriz, i, y j es el identificador único de un subíndice de cada elemento.

Dos dimensiones matriz de inicialización

Las matrices multidimensionales se pueden inicializar paréntesis al valor especificado para cada fila. Aquí es un conjunto de cuatro filas con 3.

int a[3][4] = {  
 {0, 1, 2, 3} ,   /*  初始化索引号为 0 的行 */
 {4, 5, 6, 7} ,   /*  初始化索引号为 1 的行 */
 {8, 9, 10, 11}   /*  初始化索引号为 2 的行 */
};

Dentro paréntesis anidados son opcionales, la siguiente inicialización es equivalente a la anterior:

int a[3][4] = {0,1,2,3,4,5,6,7,8,9,10,11};

Bidimensional de acceso elemento de la matriz

Bidimensional elemento de matriz mediante el subíndice (es decir, el índice de fila de la matriz y el índice de la columna) para visitar. Por ejemplo:

int val = a[2][3];

La declaración anterior obtendrá los primeros cuatro elementos de la matriz en la línea 3. Puede ser verificada mediante el diagrama anterior. Veamos el siguiente programa, vamos a utilizar un bucle anidado para procesar matriz de dos dimensiones:

#include <iostream>
using namespace std;
 
int main ()
{
   // 一个带有 5 行 2 列的数组
   int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}};
 
   // 输出数组中每个元素的值                      
   for ( int i = 0; i < 5; i++ )
      for ( int j = 0; j < 2; j++ )
      {
         cout << "a[" << i << "][" << j << "]: ";
         cout << a[i][j]<< endl;
      }
 
   return 0;
}

Cuando el código se compila y ejecuta, produce los siguientes resultados:

a[0][0]: 0
a[0][1]: 0
a[1][0]: 1
a[1][1]: 2
a[2][0]: 2
a[2][1]: 4
a[3][0]: 3
a[3][1]: 6
a[4][0]: 4
a[4][1]: 8

Como se describió anteriormente, puede crear matrices de cualquier dimensión, pero en circunstancias normales, hemos creado una matriz de matrices unidimensionales y matriz de dos dimensiones.

Matriz C ++ Matriz C ++