Upload
jeshualop
View
4
Download
0
Embed Size (px)
DESCRIPTION
Arreglo
Citation preview
ArreglosComputcin
DefinicinUn arreglo es una coleccin de elementos del mismo tipo que se reconocen por un solo identificador.Para acceder a los elementos individuales de un arreglo se utiliza un subndice que debe ser un nmero entero.5656910-32241006212a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]Arreglo con nombre aNmero de la posicin de cada elemento
TareaHaga un programa que calcule la desviacin estandar de un arreglo de valores.
Paso de arreglos a funcionesPara pasar un arreglo a una funcin debemos conocer su tamao para poder saber cuantos elementos se van a procesar.Para esto declare la funcin con un parmetro extra para pasar el nmero de elementos a la funcin
Ejemplo#include #include
double promedio(double a[], int tamanio){ double suma = 0; for(int i=0; i
OrdenacinLa operacin de ordenacin es de las ms comunes en computacin.#include #include
void Burbuja(int a[],int tam){ for(int i = 0; i< tam - 1 ; i++) for(int j = i; j< tam;j++) if(a[i]>a[j]){ int temp = a[i]; a[i]=a[j]; a[j]=temp; }}int main(){ int b[20] = {1,2,3,2,4,3, 5,6,3,7,8,9, 4,5,3,5,3,4,5,6}; Burbuja(b,20); for(int i =0; i
Bsquedaint BusquedaLineal(int a[],int b,int tam){ for(int i = 0; i< tam; i++) if(a[i]==b) return n; return -1;}Otra operacin importante es la bsqueda de el valor de un elemento dentro de un arreglo.
Arreglos de dos dimensionesLos arreglos de dos dimensiones se declaran de acuerdo al esquematipo variable[renglones][columnas];Ejemploint a [5][4];a[0][0] a[0][1] a[0][2] a[0][3]a[1][0] a[1][1] a[1][2] a[1][3]a[2][0] a[2][1] a[2][2] a[2][3]a[3][0] a[3][1] a[3][2] a[3][3]a[4][0] a[4][1] a[4][2] a[4][3]
inicializacinint a[5][4] = {{2,3,4,2},{2,0,6,1},{3,5,5,0},{2,2,1,1},{3,2,5,6}}; 2 3 4 2 2 0 6 1 3 5 5 0 2 2 1 1 3 2 5 6
inicializacin (cont.)int a[5][4] = {{2,3},{1},{3,5,5,0},{2},{3}}; 2 3 0 0 1 0 0 0 3 5 5 0 2 0 0 0 3 0 0 0
Operaciones con matricesSe puede utilizar la tcnica vista anteriormente para matrices de tamao fijo.Si las matrices que se van a manipular son de 3x3 la funcin para sumar podra servoid Suma(double a[][3],double b[][3],double c[][3]){ for(int i = 0; i< 3 ; i++) for(int j = 0; j< 3 ; j++) c[i][j] = a[i][j] + b[i][j];}
Otras operaciones de matricesvoid Resta(double a[][3],double b[][3],double c[][3]){ for(int i = 0; i< 3 ; i++) for(int j = 0; j< 3 ; j++) c[i][j] = a[i][j] - b[i][j];}
void Multiplica(double a[][3],double b[][3],double c[][3]){ for(int i = 0; i< 3 ; i++) for(int j = 0; j< 3 ; j++){ c[i][j] = 0; for(int k = 0; k< 3 ; k++) c[i][j] += a[i][k]*b[k][j]; }}
Tarea #10Escriba una funcin para obtener la traspuesta de una matriz de 3x3.Escriba una funcin que calcule la suma de todos los elementos de una matriz de 3x3Escriba una funcin que calcule la traza de una matriz de 3x3Calcule con esta tarea y lo anterior lo siguiente:a + b, a - b, a * b, traspuesta(a), traspuesta(b), traza(a), traza(b), sumatotal(a), sumatotal(b),
Matrices de cualquier tamaoEs conveniente manejar las matrices de tamao arbitrario mediante un vector de una sola dimensin.La matriz que se pasa como parmetro se pasa como un apuntador.Las funciones para manipular matrices se definen para un tamao mximo de elementos.
Ejemplo de programa principalint main(void) { int row=4, col=4; float add, maxRow; float a[MAXROW][MAXCOL] = {{1,2,3,4},{3,2,1,1},{4,3,7,6},{4,5,5,6}}; float b[MAXROW][MAXCOL] = {{4,5,7,1},{2,4,8,9},{3,3,0,0},{2,1,1,1}}; float c[MAXROW][MAXCOL]; printMat(row,col,MAXCOL,(float *) a); printMat(row,col,MAXCOL,(float *) b); sumaMat(row,col,MAXCOL,(float *) a,(float *) b,(float *) c); printMat(row,col,MAXCOL,(float *) c); getch(); return 0;}