Una matriz, tabla o “array” bidimensional
es una estructura compuesta por filas y columnas, preferiblemente dos
o más filas y columnas, ya que si la matriz se conformara de una sola fila y
una sola columna, estaríamos refiriéndonos a un
arreglo o vector
y no a una matriz. También se les conoce como arreglos
bidimensionales.
______________________________________________
ÍNDICE
______________________________________________
¿Cómo es una Matriz?
Al igual que los
arreglos, las matrices tienen un índice que inicia en cero. Tanto las filas
como las columnas tienen su propio índice que trabaja de la mano el uno del
otro; aquí te mostramos un ejemplo gráfico:
¿Cómo se declara una Matriz?
La forma de declarar una matriz o tabla en C++ es muy similar a la de un
vector.
Primero se define el tipo de dato que va a ser (char, int, float,…),
después el nombre de la matriz y, entre corchetes, el número de filas y,
dentro de otros corchetes, el número de columnas.
tipo nombre[nfilas][ncolumnas];
Algunos ejemplos:
int números[4][3]float real[3][1]char letra[4][7]
¿Conoces que son las Cadenas? Entra a este Artículo:
¿Cómo se inicializa una Matriz en su declaración?
Hay tres formas para inicializar una matriz directamente después de
definirla:
1. La primera es la manera más fácil y rápida de
inicializarla:
int numeros[2][3] = {1,2,3 , 4,5,6};
2. La segunda manera es forma más ordenada y entendible de
verla:
int numeros[2][3] = {{1,2,3} , {4,5,6}};
3. La tercera forma es una manera más gráfica de ver la
matriz:
int numeros[2][3] = {1,2,3,
4,5,6};
Podemos llamar a los datos almacenados en cada posición de la matriz de
esta forma:
cout<<numeros[0][0] ---> 1cout<<numeros[0][1] ---> 2cout<<numeros[0][2] ---> 3cout<<numeros[1][0] ---> 4cout<<numeros[1][1] ---> 5cout<<numeros[1][2] ---> 6
La matriz almacena sus datos en forma que primero
rellenará todas las columnas de la fila 0, hasta cuando
todas las columnas están completas, pasará a la fila 1 y repetirá el
proceso; por lo que la matriz no pasará a la siguiente fila sino hasta que todas
las columnas de una fila tengan un dato almacenado.
¿Cómo llenar una Matriz y mostrar su contenido?
Para ambas acciones se necesita de
bucles
que ayuden a
rellenar y mostrar cada posición en la matriz.
A diferencia de un
arreglo, la matriz necesita de un
bucle, y dentro de este otro bucle anidado, y lo mismo sucede al mostrar su
contenido. El mejor bucle para este trabajo ese el
bucle For.
Aquí un ejemplo:
#include <iostream>
using namespace std;
int main(){
int numeros[100][100];
int filas, columnas;
cout<<"Ingrese numero de filas: ";
cin>>filas;
cout<<"Ingrese numero de columnas: ";
cin>>columnas;
cout<<"\n";
for(int i=0; i<filas; i++){
for(int j=0; j<columnas; j++){
cout<<"Digite un numero para la posicion("<<i<<")("<<j<<"): ";
cin>>numeros[i][j];
}
}
cout<<"\nMostrando Matriz: "<<endl;
for(int i=0; i<filas; i++){
for(int j=0; j<columnas; j++){
cout<<numeros[i][j];
}
cout<<"\n";
}
return 0;
}