VICERECTORADO PUERTO ORDAZ DEPARTAMENTO DE INGENIERA ELECTRNICA SECCIN DE COMPUTACIN
COMPUTACION I
ARREGLOS Y MATRICES Parte II
Ing. Lesbia Galindez Puerto Ordaz, 2013 Arreglos Multidimensionales Es una estructura de datos esttica y de un mismo tipo de datos, y de longitud fija que almacena datos de forma matricial. De igual forma que los arreglos unidimensionales, el almacenamiento de los datos en la memoria se realiza de forma secuencial y son accedidos mediante ndices. Los arreglos multidimensionales son tambin conocidos como matrices. Por lo tanto se llama matriz de orden "mn" a un conjunto rectangular de elementos dispuestos en filas "m" y en columnas "n", siendo m y n nmeros naturales. Las matrices se denotan con letras maysculas: A, B, C, ... y los elementos de las mismas con letras minsculas y subndices que indican el lugar ocupado: a, b, c, ... Un elemento genrico que ocupe la fila i y la columna j se escribe i,j. Si el elemento genrico aparece entre parntesis tambin representa a toda la matriz: A (i,j). Una matriz de orden 3x4 se muestra a continuacin, siendo M una matriz de 3 filas y 4 columnas, la representacin grfica de sus posiciones es la siguiente: M 3x4 Filas =3, columnas =4 columnas
Declaracin de arreglos Bidimensionales La sintaxis es la siguiente: tipo_dato <nombre_array> [dimensin1] [dimensin2]; <tipo de datos > <nombre_arregl o> [<nmero de fi las>], [<nmero de col umnas>];
Ejemplo: Arreglo de dos dimensiones de orden 2x3. char m[2][3] ;
Ejemplos: 1-. Realice un algoritmo que le permita ingresar dos matrices de 3x4, y se determine la suma de ellas, imprimiendo la matriz resultante. Solucin Algoritmo "Suma Matrices 3x4" Inicio Entero: i, j Real:A[3][4], B[3][4], C[3][4] Mostrar(Ingrese los valores para la matriz A) Repetir <i=0>hasta <i<3> Repetir <j=0>hasta <j<4> Mostrar("Ingrese la posicin "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz A") Leer(A[i][j]) j=j+1 i=i+1 Fin_repetir_hasta Mostrar (Ingrese los valores para la matriz B) Repetir <i=0>hasta <i<3> Repetir <j=0>hasta <j<4> Mostrar("Ingrese la posicin "<<"("<<i<<")"<<"("<<j<<")"<<" de la matrizB") Leer(B[i][j]) j=j+1 i=i+1 Fin_repetir_hasta Repetir <i=0>hasta <i<3> Repetir <j=0>hasta <j<4> C[i][j] =A[i][j]+B[i][j] j=j+1 i=i+1 Fin_repetir_hasta Mostrar("La Matriz resultante es:") Repetir <i=0>hasta <i<3> Repetir <j=0>hasta <j<4> Mostrar("Valor posicion "<<"("<<i<<")"<<"("<<j<<"): "<< C[i][j]) j=j+1 i=i+1 Fin_repetir_hasta Fin
C++ #include<iostream.h> #include<conio.h> #include <string.h> void main (void) { int i=0, j=0; float A[3][4], B[3][4], C[3][4] ; cout<<("Ingrese los valores para la matriz A")<<endl; for ( i=0; i<3; i++) { for ( j=0; j<4; j++) { cout <<"Ingrese la posicion "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz A"<<endl;
cin>> A[i][j]; } } cout<<("Ingrese los valores para la matriz B"); for ( i=0; i<3; i++) { for ( j=0; j<4; j++) { cout <<"Ingrese la posicion "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz B"<<endl; cin>> B[i][j]; } }
for ( i=0; i<3; i++) { for ( j=0; j<4; j++) { C[i][j]=A[i][j]+B[i][j]; } } cout<<("La matriz C")<<endl; for ( i=0; i<3; i++) { for ( j=0; j<4; j++) { cout <<"Valor posicion "<<"("<<i<<")"<<"("<<j<<"): "<<C[i][j]<<endl; } } getch(); }
OTRA FORMA: En este algoritmo el resultado se puede visualizar en forma de matriz. #include<iostream.h> #include<conio.h> #include <string.h> void main (void) { int i=0, j=0; float A[3][4], B[3][4], C[3][4] ; cout<<("Ingrese los valores para la matriz A")<<endl; for ( i=0; i<3; i++) { for ( j=0; j<4; j++) { cout <<"Ingrese la posicion "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz A"<<endl;
cin>> A[i][j]; } } cout<<("Ingrese los valores para la matriz B"); for ( i=0; i<3; i++) { for ( j=0; j<4; j++) { cout <<"Ingrese la posicion "<<"("<<i<<")"<<"("<<j<<")"<<" de la matriz B"<<endl; cin>> B[i][j]; cout<<endl; } } cout<<("La matriz C")<<endl; for ( i=0; i<3; i++) { for ( j=0; j<4; j++) { C[i][j]=A[i][j]+B[i][j]; cout<<C[i][j]<<" "; } cout<<endl; } cout<<"\n";
getch(); }
2.- Realizar un programa para registrar los tiempos de los chequeos de 4 velocistas que compiten para un cupo en la clasificacin nacional. Cada velocista corre por un carril, y se deben realizar 3 chequeos por cada velocista. Usted debe registrar el nombre del velocista que corre por cada canal, registrar el tiempo de cada prueba y su tiempo promedio. Tome en cuenta que el nombre de tiene una longitud de mximo 40 caracteres. #include <iostream.h> #include <conio.h> void main (void) { int i, j, k; char competidores [4][40]; /*Matriz de nombres de competidores*/ float carreras[4][3]; /*Matriz de tiempos en cada vuelta de los competidores*/ float prom_competidores[4]; /*Vector de tiempos promedio de los competidores*/ float acumulador=0; cout << "Informacin del tiempo de cada competidor en el chequeo" <<endl; /*Llenando el vector de nombres de participantes*/ for (int i=0;i<4;i++) { cout<<"Ingrese el nombre del competidor del carril "<<i+1<<endl; cin>>(competidores [i]); } /*Llenando la matriz de tiempos en cada chequeo*/ for (int j=0;j<4;j++) { acumulador=0; cout<<"Indique el tiempo del Competidor "<<competidores[j]<<endl; for(int k=0;k<3;k++) { cout<<"En la prueba "<<k+1<<endl; cin>>carreras[j][k]; acumulador=acumulador+carreras[j][k]; } /*Guardando el promedio de las dos carreras en el vector*/ prom_competidores[j]=acumulador/3; } /*Imprimiendo los resultados*/ for (int j=0;j<4;j++) { cout<<"El tiempo del Competidor "<<competidores[j]; for(int k=0;k<3;k++) { cout<<"\t"<<carreras[j][k];
3.- Desarrolle un programa que realice la siguiente operacin. Se tienen dos vectores de 5 elementos numricos cada uno, realizar la resta del Vector A menos el Vector B y almacenar el resultado en un Vector C (C = A -B), determinar el promedio de la suma de los elementos del Vector C (prom_C). (Propuesto)
Excel para principiantes: Aprenda a utilizar Excel 2016, incluyendo una introducción a fórmulas, funciones, gráficos, cuadros, macros, modelado, informes, estadísticas, Excel Power Query y más
ChatGPT Ganar Dinero Desde Casa Nunca fue tan Fácil Las 7 mejores fuentes de ingresos pasivos con Inteligencia Artificial (IA): libros, redes sociales, marketing digital, programación...
Inteligencia artificial: Lo que usted necesita saber sobre el aprendizaje automático, robótica, aprendizaje profundo, Internet de las cosas, redes neuronales, y nuestro futuro
Guía De Hacking De Computadora Para Principiantes: Cómo Hackear Una Red Inalámbrica Seguridad Básica Y Pruebas De Penetración Kali Linux Su Primer Hack
Mentalidades matemáticas: Cómo liberar el potencial de los estudiantes mediante las matemáticas creativas, mensajes inspiradores y una enseñanza innovadora