arreglos_bidimensionales
DESCRIPTION
cadenasTRANSCRIPT
-
I N G . F E L I X H U A R I 1
ARREGLOS BIDIMENSIONALES O TABLAS
Un array es un conjunto de datos homogneos, finito y ordenado del mismo tipo.
Internamente en memoria se reservan M x N posiciones consecutivas para almacenar todos los elementos del arreglo.
Se referencia con un nico nombre de variable seguido de los subindices encerrados entre corchetes([]).
El primer del ndice indica la fila y el segundo indica la columna.
-
I N G . F E L I X H U A R I 2
ARREGLOS BIDIMENSIONALES O TABLAS
Un matriz o tabla matemticamente esta
representado de la siguiente forma:
-
I N G . F E L I X H U A R I 3
ARREGLOS BIDIMENSIONALES O TABLAS
Podemos observar que la matriz es del
orden m x n.
Sus elementos son a11, a12, a13,, a1n, a21, a22, a23,, a2n, , am1, am2, am3,, amn.
En programacin, especficamente en c++,
los datos se guardan desde la posicin 0.
Es decir la reservacin de posiciones de
almacenamiento en memoria quedara
como se muestra.
-
I N G . F E L I X H U A R I 4
ARREGLOS BIDIMENSIONALES O TABLAS
Matriz A del orden 3 x 4.
Col. 0 Col. 1 Col. 2 Col. 3
Fila 0
Fila 1
Fila 2
-
I N G . F E L I X H U A R I 5
ARREGLOS BIDIMENSIONALES O TABLAS
Col. 0 Col. 1 Col. 2 Col. 3
Fila 0
Fila 1
Fila 2
Columnas
Filas
-
I N G . F E L I X H U A R I 6
ARREGLOS BIDIMENSIONALES O TABLAS
2.45
Col. 0 Col. 1 Col. 2 Col. 3
Fila 0
Fila 1
Fila 2
Nombre Matriz A[1][2]
Posicin
Fila Posicin
Columna
Contenido
-
I N G . F E L I X H U A R I 7
ARREGLOS BIDIMENSIONALES O TABLAS
2.45
Col. 0 Col. 1 Col. 2 Col. 3
Fila 0
Fila 1
Fila 2
La matriz tiene 12 casilleros en donde se
almacenaran los datos.
-
NOMENCLATURA PARA UNA MATRIZ O TABLA
Para referirse a un elemento en particular, se escribe el nombre de la matriz.
Los subndices debe estar encerrado entre corchetes( [ ] ).
Los subndices debe ser una constante numrica o char, puede ser un una expresin o una variable.
I N G . F E L I X H U A R I 8
A[1][2]
Subndices
son constantes
Nombre de Variable
A[ i*2+1 ][i*4]
Subndices
son expresiones
-
DECLARACION DE UNA MATRIZ
Para declarar se utiliza la siguiente sintaxis:
[M][N ];
Donde: M y N, indica el tamao de la matriz, donde estos puede ser una variable o una constante numrica entero y positivo.
Podemos declarar mas de una matriz del mismo tipo, para ello se separan con comas(,).
I N G . F E L I X H U A R I 9
-
DECLARACION DE UNA MATRIZ
Para declarar la variable A se procede as:
float A[20][5];
int B[N][6],C[N][M];
A, es una matriz de 100 elementos que
almacenara nmeros reales.
B almacenara N x 6 elementos y C
almacenara N x M elementos, en ambos
casos nmeros enteros.
I N G . F E L I X H U A R I 10
-
I N G . F E L I X H U A R I 11
ASIGNACION DE DATOS A UNA MATRIZ
Un arreglo bidimensional se puede inicializar desde una instruccin de declaracin.
Los valores deben estar delimitados por llaves y separados por comas.
Adems las llaves se emplean para separar las filas individuales.
Otra alternativa de asignar datos es a travs de la instrucciones de entrada que pose el c++.
-
I N G . F E L I X H U A R I 12
Asumiendo que se tiene la siguiente declaracin de la matriz A
int A[3][4]={{8,16,9,52},
{3,15,27,6},
{14,25,2,10}
};
Los datos se almacenara en la matriz en el orden indicado en la lista de datos.
ASIGNACION DE DATOS A UNA MATRIZ
-
I N G . F E L I X H U A R I 13
La declaracin anterior producir la inicializacin tal como se muestra a continuacin:
8 16 9 52
3 15 27 6
14 25 2 10
Col. 0 Col. 1 Col. 2 Col. 3
Fila 0
Fila 1
Fila 2
ASIGNACION DE DATOS A UNA MATRIZ
-
I N G . F E L I X H U A R I 14
INICIALIZANDO UNA MATRIZ
#include
#define M 4
#define N 3
using namespace std;
//Definicion de funciones
void Inicializar( int x[][N])
{ int i,j,dat[M][N]={{50,10,80}, {45,11,9},
{-5,7,4},
{20,12,5}};
for(i=0;i
-
I N G . F E L I X H U A R I 15
INICIALIZANDO UNA MATRIZ
void Print(int x[][N])
{ int i, j;
cout
-
I N G . F E L I X H U A R I 16
// Programa que genera un matriz cuadarada triangular inferior
#include
using namespace std;
const int N=20;
// Declarando las funciones
void Lectura(int x[][N],int M)
{ int i,j;cout
-
I N G . F E L I X H U A R I 17
void Escribir(int x[][N],int M)
{ int i,j;
cout
-
I N G . F E L I X H U A R I 18
// Funcion principal
int main()
{ int A[N][N], num;
num=CantidaDatos();
Lectura(A,num);
Escribir(A,num);
}
MATRIZ TRINGULAR INFERIOR
-
I N G . F E L I X H U A R I 19
/*Una empresa comercial tiene 1000 productos que
comercializa, por cada producto se ingresa los siguientes datos:
cdigo, cantidad, costo unitario. La compaa tiene 3
almacenes y adems el precio unitario de venta por producto es
un 40% mas del costo unitario.
Se pide escribir un programa que realice lo siguiente:
a) Lectura de Datos
b) Mostrar los datos ledos y calculados
c) Cual es el producto que tiene mayor existencia y en que
almacn esta ubicado.
d) Determinar y mostrar el total de la inversin y el total de los
ingresos.*/
PROGRAMA DE APLICACION
-
I N G . F E L I X H U A R I 20
#include
using namespace std;
const int N=1000;
//Lectura de datos
void Lectura(int c[],float a[][3],float cv[N][2],int m)
{ register int i,j,k;
for(i=0;i
-
I N G . F E L I X H U A R I 21
//Determinando el producto con mayor existencia void ProductoMayor(int c[],float a[][3],int m,int &cp,float &may,int &al)
{ int i,j,k=0;
for(i=0;i
-
I N G . F E L I X H U A R I 22
// Determinando el monto total de Inversion e Ingresos
void InversionIngresos(float a[][3],float cv[N][2],int m)
{ register int i,j,k;
float s,ct=0,ti=0;
for(i=0;i
-
I N G . F E L I X H U A R I 23
// Mostrando los datos
void VerProductos(int c[],float a[][3],float cv[N][2],int m)
{ register int i,j,k;
cout
-
I N G . F E L I X H U A R I 24
//Programa principal
int main()
{ int c[N],n,cp,al;
float a[N][3],cv[N][2],may;
cout
-
I N G . F E L I X H U A R I 25
PROGRAMA DE APLICACION