vectores y matrices en borlan c++

11
ESTRUCTURA DE DATOS ARREGLOS (VECTORES Y MATRICES) INTRODUCCION EN MUCHAS SITUACIONES SE NECESITA PROCESAR UNA COLECCIÓN DE DATOS QUE ESTÁN RELACIONADOS ENTRE SÍ, POR EJEMPLO LA LISTA DE NOTAS DE LOS ALUMNOS, LOS PARTICIPANTES DE UNA CARRERA DEPORTIVA, ETC. PROCESAR ESE CONJUNTO DE DATOS EN FORMA INDEPENDIENTE CON VARIABLES SIMPLES(PRIMITIVAS), ES TREMENDAMENTE DIFÍCIL ES POR ESO QUE LOS LENGUAJES DE PROGRAMACIÓN INCORPORAN UN MECANISMO QUE FACILITA LA MANIPULACIÓN Y ORGANIZACIÓN PARA UNA COLECCIÓN DE DATOS LLAMADA ESTRUCTURA DE DATOS. PARA EXPLICAR TODO LO RELACIONADO A ESTRUCTURA DE DATOS SE NECESITA ESCRIBIR TODO UN LIBRO QUE DETALLE LOS TEMAS INVOLUCRADOS, PARA ESTE CAPÍTULO SOLO SE ESTA CONSIDERANDO UNA PARTE BÁSICA E IMPORTANTE EN LA ESTRUCTURA DE DATOS,

Upload: joselitoirigoindelgado

Post on 11-Feb-2016

20 views

Category:

Documents


1 download

DESCRIPTION

los vectores y las matrices son muy interesantes en el programa borlan c++ para el desarrollo de logaritmos

TRANSCRIPT

Page 1: VECTORES Y MATRICES EN BORLAN  C++

ESTRUCTURA DE DATOSARREGLOS (VECTORES Y MATRICES)

INTRODUCCIONEN MUCHAS SITUACIONES SE NECESITA PROCESAR UNA COLECCIÓN DE DATOS QUE ESTÁN RELACIONADOS ENTRE SÍ, POR EJEMPLO LA LISTA DE NOTAS DE LOS ALUMNOS, LOS PARTICIPANTES DE UNA CARRERA DEPORTIVA, ETC.PROCESAR ESE CONJUNTO DE DATOS EN FORMA INDEPENDIENTE CON VARIABLES SIMPLES(PRIMITIVAS), ES TREMENDAMENTE DIFÍCIL ES POR ESO QUE LOS LENGUAJES DE PROGRAMACIÓN INCORPORAN UN MECANISMO QUE FACILITA LA MANIPULACIÓN Y ORGANIZACIÓN PARA UNA COLECCIÓN DE DATOS LLAMADA ESTRUCTURA DE DATOS.PARA EXPLICAR TODO LO RELACIONADO A ESTRUCTURA DE DATOS SE NECESITA ESCRIBIR TODO UN LIBRO QUE DETALLE LOS TEMAS INVOLUCRADOS, PARA ESTE CAPÍTULO SOLO SE ESTA CONSIDERANDO UNA PARTE BÁSICA E IMPORTANTE EN LA ESTRUCTURA DE DATOS, LLAMADA ARRAY (ARREGLOS)

Page 2: VECTORES Y MATRICES EN BORLAN  C++

ARREGLO DE UNA DIMENSION (VECTOR DE 5 ITEMS)

ARREGLO DE DOS DIMENSIONES (MATRIZ DE 3X4)

15 12 18 14 12

0 1 2 3 4 LI COLUMNAS LS

0 1 2 3

L I 0 25 10 15 32

FILAS 1 52 10 4 18

L S 2 18 22 3 9

0 15

1 12

2 18

3 14

4 12

5 ELEMENTOS (ITEMS)

L I

IND I C E

L S

Page 3: VECTORES Y MATRICES EN BORLAN  C++

ARRAYS (ARREGLOS O VECTORES)

ES UN CONJUNTO FINITO(TAMAÑO FIJO) Y ORDENADO (USA UN INDICE)DE DATOS HOMOGENEOS (DATOS DEL MISMO TIPO).

LOS ARREGLOS PUEDEN SER DE UNA DIMENSION (VECTOR) DE DOS DIMENSIONES (MATRIZ) Y N DIMENSIONES (MULTIDIMENSIONAL)

EN TODOS LOS LENGUAJES DE PROGRAMACION LOS ARRAYS USAN UN INDICE NUMERICO PARA CADA ELEMENTO QUE CONTIENE, QUE POR LO GENERAL INICIAN CON EL INDICE «0» CERO, LLAMADO LIMITE INFERIOR (LI) Y EL ULTIMO ELEMENTO LLAMADO INDICE SUPERIOR (LS), QUE EN SI ES LA CANTIDAD DE ELEMENTOS DEL ARRAY MENOS 1.

Page 4: VECTORES Y MATRICES EN BORLAN  C++

OPERACIONES CON ARRAYSSON EL PROCESAMIENTO Y EL TRATAMIENTO INDIVIDUAL DE LOS ELEMENTOS DEL ARRAY, LAS CUALES SON LAS SIGUIENTES.

ASIGNACION LECTURA / ESCRITURA RECORRIDO ACTUALIZACION ORDENACION

CREACION DE ARRAYS.- SE REQUIERE CONOCER EL NOMBRE, LAS DIMENSIONES, EL TAMAÑO DE ELEMENTOS Y EL TIPO DE DATO

PSEUDOCODIGO C++ARRAY DE UNA DIMENSION (VECTOR) 5 ELEMENTOS LI = 0 LS = 4 5 ELEMENTOS LI = 0 LS = 4

N[5]: ENTERO INT N[5];

Page 5: VECTORES Y MATRICES EN BORLAN  C++

CREACION DE ARRAYS.- PARA LA CREACION DE UN ARRAY SE REQUIERE CONOCER EL NOMBRE, LAS DIMENSIONES, EL TAMAÑO DE ELEMENTOS Y TIPO DE DATO.

EN C++// ARRAY DE UNA DIMENSION (VECTOR)// 5 ELEMENTOS LI = 0 Y LS = 4

Int N[5];

// ARRAY DE DOS DIMENSIONES (MATRIZ)// 3 X 4 ELEMENTOS // 1ERA DIM. LI = 0 Y LS = 2// 2DA DIM. LI = 0 Y LS = 3

Int N[3][4];

Page 6: VECTORES Y MATRICES EN BORLAN  C++

RECORRIDO POR LOS ELEMENTOS DEL ARRAY

PARA REALIZAR UN RECORRIDO POR CADA ELEMENTO DEL ARRAY UTILIZAREMOS LA ESTRUCTURA REPETITIVA PARA (FOR). EN EL SIGUIENTE DIAGRAMA SE TIENE EL VECTOR N DE 5 ELEMENTOS Y SE ASIGNA EL VALOR 10 A CADA ELEMENTO.

i = 0

i <=4

i=i+1

N[ i ]= 10

EN C++

FOR ( i = 0 ; i < = 4 ; i + + ){

N[i] = 10;}

Page 7: VECTORES Y MATRICES EN BORLAN  C++

ARREGLOS MULTIDIMENSIONALES

EN C++ LOS ARREGLOS PUEDEN TENER MULTIPLES SUBINDICES, POR EJEMPLO SI SE DESEA ALMACENAR INFORMACION EN FORMA DE TABLA SE DEBE UTILIZAR UN ARREGLO DE DOS DIMENSIONES. PARA IDENTIFICAR UN ELEMENTO EN PARTICULAR SE DEBE INDICAR DOS SUBINDICES, EL PRIMER SUBINDICE IDENTIFICA LA FILA Y EL SEGUNDO SUBINDICE INDICA LA COLUMNA, SUPONGA QUE SE DESEA ALMACENAR LAS VENTAS TOTALES REALIZADAS POR LOS VENDEDORES DE LA EMPRESA (PEDRO, LUIS ANA Y JOSE) DE LOS ARTICULOS MONITORES, DVD E IMPRESORAS; PARA LOGRAR EL OBJETIVO DESEADO DEBE UTILIZAR UN ARREGLO DE DOS DIMENSIONES (4 X 4) ES DECIR CUATRO FILAS Y CUATRO COLUMNAS.

VENDEDOR MONITORES DVD IMPRESORASPEDRO 250 470 200

LUIS 500 670 100ANA 300 185 50JOSE 200 270 190

Page 8: VECTORES Y MATRICES EN BORLAN  C++

CONSIDERE, POR EJEMPLO, EL CASO DE UN ARREGLO BIDIMENSIONAL LLAMADO VENTA QUE CONSTA DE 4 FILAS Y 4 COLUMNAS, SU DECLARACION SERIA: INT VENTA[4][4];

ESTO RESERVA ESPACIO DE MEMORIA PARA UN TOTAL DE 16 NUMEROS ENTEROS (4 X 4)CUYA DISTRIBUCION GRAFICA ES:

0 1 2 3

0 VENTA[0][0] VENTA[0][1] VENTA[0][2] VENTA[0][3]

1 VENTA[1][0] VENTA[1][1] VENTA[1][2] VENTA[1][3]

2 VENTA[2][0] VENTA[2][1] VENTA[2][2] VENTA[2][3]

3 VENTA[3][0] VENTA[3][1] VENTA[3][2] VENTA[3][3]

Page 9: VECTORES Y MATRICES EN BORLAN  C++

PARA ALMACENAR ESTA INFORMACION SE PUEDE UTILIZAR ARREGLOS UNIDIMENSIONALES PARALELOS. ASÍ POR EJEMPLO, PODRIAMOS UTILIZAR CUATRO ARREGLOS UNIDIMENSIONALES(UNO POR CADA COLUMNA)

SIN EMBARGO, LA FORMA MAS EFICIENTE ES UTILIZAR UN ARREGLO BIDIMENSIONAL (ARREGLO CON DOS INDICES) EN EL QUE UN INDICE INDICA LA FILA Y EL OTRO LA COLUMNA.

DECLARACION DE LOS ARREGLOS BIDIMENSIONALESLA FORMA GENERAL DE DECLARACION DE UN ARREGLO BIDIMENSIONAL ES LA SIGUIENTE:

TIPO NOMBRE[NUMFIL][NUM COL];DONDE: TIPO.- ES EL TIPO DE DATO Y PUEDE SER UN TIPO INCORPORADO(INT, CHAR, FLOAT, DOUBLE,ETC.) NOMBRE.- ES EL NOMBRE DEL ARREGLO. NUMFIL.- ES EL NUMERO DE FILAS DEL ARREGLONUMCOL.- ES EL NUMERO DE COLUMNAS DEL ARREGLO

Page 10: VECTORES Y MATRICES EN BORLAN  C++

OPERACIONES CON ARREGLOS BIDIMENSIONALESPARA PODER EFECTUAR OPERACIONES CON ARREGLOS BIDIMENSIONALES NORMALMENTE SE SIGUE UN RECORRIDO SECUENCIAL; DEL PRIMERO AL ÚLTIMO ELEMENTO.

DOS SON LOS RECORRIDOS MAS USUALES: RECORRIDO POR FILAS Y RECORRIDO POR COLUMNAS. EN AMBOS TIPOS DE RECORRIDOS SE REQUIEREN DOS BUCLES ANIDADOS, POR EJEMPLO DOS BUCLES FOR, UNO POR CADA DIMENSION, ES DECIR UNO PARA LAS FILAS Y UNO PARA LAS COLUMNAS.

RECORRIDOS POR FILASEN ESTE TIPO DE RECORRIDO SE PROCESAN PRIMERO LOS ELEMENTOS DE LA PRIMERA FILA, A CONTINUACION LOS ELEMENTOS DE LA SEGUNDA FILA Y ASI SUCESIVAMENTE.EN GENERAL, EL RECORRIDO COMPLETO POR FILAS DE CUALQUIER ARREGLO BIDIMENSIONAL, SE HACE CON EL SIGUIENTE CODIGO:for( i=0; i<numfil;i++){ for( j=0; j<numcol;j++) {

//Aquí van las acciones con el elemento arreg[i][j] }}

Page 11: VECTORES Y MATRICES EN BORLAN  C++

i = 0

i < = 2

i = i + 1

j = 0

j < = 3

j = j + 1

N[i][j] = 10

F

F

V

V

EN EL SIGUIENTE DIAGRAMA SE TIENE LA MATRIZ N DE 3 X 4 ELEMENTOS Y SE ASIGNA EL VALOR 10 A CADA ELEMENTO