arreglos_bidimensionales

25
ING. FELIX HUARI 1 ARREGLOS BIDIMENSIONALES O TABLAS Un array es un conjunto de datos homogéneos, 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.

Upload: juan-erwin-mendoza-de-los-santos

Post on 07-Nov-2015

5 views

Category:

Documents


0 download

DESCRIPTION

cadenas

TRANSCRIPT

  • 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