EVAP6

MATRICES
Una matriz es un vector de vectores o un también llamado array bidimensional. La manera de declarar una matriz es C++ es similar a un vector:
1
int matrix[rows][cols];
int es el tipo de dato, matrix es el nombre del todo el conjunto de datos y debo de especificar el numero de filas y columnas.
Las matrices también pueden ser de distintos tipos de datos como char, float, double, etc. Las matrices en C++ se almacenan al igual que los vectores en posiciones consecutivas de memoria.
Usualmente uno se hace la idea que una matriz es como un tablero, pero internamente el manejo es como su definición lo indica, un vector de vectores, es decir, los vectores están uno detrás del otro juntos.
La forma de acceder a los elementos de la matriz es utilizando su nombre e indicando los 2 subíndices que van en los corchetes.
Si coloco int matriz[2][3] = 10; estoy asignando al cuarto elemento de la tercera fila el valor 10.
No olvidar que tanto filas como columnas se enumeran a partir de 0. Bueno y para recorrer una matriz podemos usar igualmente un bucle. En este caso usando 2 for:
1
2
3
4
5
for(int i = 0; i < rows; i++) {
  for(int j = 0; j < cols; j++) {
    matrix[i][j] = i % j;
  }
}
EJEM:






OPERACIONES ELEMENTALES CON MATRICES NUMÉRICAS.      

   SUMA DE MATRICES.

Algoritmo    suma de matrices
constantes   m=..., n=...
variables enteras   i, j
matrices reales     a(1..m,1..n), b(1..m,1..n), c(1..m,1..n)
leer  a, b
para j de 1 a m hacer
para j de 1 a n hacer
c(i,j)  Ü  a(i,j) + b(i,j)
fin para
fin para

escribir c
Final

Producto de una matriz por un escalar

Algoritmo    producto por un escalar
constantes   m=..., n=...
variables enteras   i, j
variable real       x
matrices reales     a(1..m,1..n), b(1..m,1..n)

leer a
leer x

para i de 1 a m hacer
para j de 1 hacer
b(i,j)  Ü  x * a(i,j)
fin para
fin para
escribir b
Final


Producto matricial

Algoritmo    producto matricial
constantes   m=..., n=..., q=...
variables enteras   i, j, k
matrices reales     a(1..m,1..n), b(1..n,1..q), c(1..m,1..q)

leer a, b
para i de 1 a m hacer
para j de 1 a q hacer
c(i,j)  Ü  0.0
para k de 1 a n hacer
c(i,j)  Ü  c(i,j) + a(i,k)*b(k,j)
fin para
fin para
fin para

escribir c
Final




No hay comentarios.:

Publicar un comentario