Sie sind auf Seite 1von 5

Departamento de Informática y Tecnología Educativa

DITE-UNEFM
______________________________________________________________________________________

UNIVERSIDAD NACIONAL EXPERIMENTAL


“FRANCISCO DE MIRANDA”
VICE-RECTORADO ACADÉMICO
PROGRAMA: EDUCACIÓN MENCIÓN: INFORMÁTICA
UNIDAD CURRICULAR: COMPUTACIÓN II

Guía #01: Matrices

¿Qué Arreglos?

• Es una estructura de Datos Estática.


• Los datos que almacena son de un mismo tipo.
• Se declaran con un tipo y un identificador.
• Emplea índices o subíndices para identificar las posiciones.

Tipos Arreglos

Arreglo Unidimensional (vector).

Es un arreglo que almacena un conjunto finito y ordenado de elementos. Cada elemento posee un
índice que designa la posición que este ocupa en el vector.

Las operaciones de lecturas y recorrido se efectúan empleando un ciclo (for, while, do while) o
indicando la posición correspondiente.

Arreglo Bidimensional (Matriz).

Es un vector de vectores, por ello almacena elementos de un mismo tipo y se especifican dos
índices para identificar los mismos.

Lic. Yamila Bolívar, Lic. Jesús Rojas


Departamento de Informática y Tecnología Educativa
DITE-UNEFM
______________________________________________________________________________________

Declaración de una Matriz: La declaración de una matriz se efectúa de la siguiente forma.

Tipo_de_Dato Nomb_Matriz [Num_Fila][Num_Colum]

Donde:

Tipo_de_Dato : Tipos de datos manejado (int, float, char, etc)


Nomb_Matriz : es el nombre que se desea emplear para la matriz
Num_Fila : número correspondiente a las filas (es entero)
Num_Colum : número correspondiente a las columnas (es entero)
int M[50][50];

Inicialización

Una matriz o arreglo bidimensional se puede inicializar de este modo:

int matriz[3][3] = {{1,2,3},{4,5,6},{7,8,9}};

Con la anterior asignación se crea en memoria una matriz igual a la de abajo:


1 2 3
4 5 6
7 8 9
También se puede inicializar de la siguiente forma:
int matriz[3][3] = {0};
y quedaría:
0 0 0
0 0 0
0 0 0

Inserción de Elementos en una Matriz.

Por lo general se emplean dos ciclos, uno para hacer el recorrido por las filas y otro para recorrer
las columnas.

Lic. Yamila Bolívar, Lic. Jesús Rojas


Departamento de Informática y Tecnología Educativa
DITE-UNEFM
______________________________________________________________________________________

Se puede especificar directamente la posición y asignarle un valor.


M[2][2] = 15.78;

Recorrido de una Matriz.

Para hacer el recorrido se emplean ciclos. La cantidad de los mismos dependerán de lo que se
desee, es decir, recorrer una fila, una columna o toda la matriz.

Ejercicio
Resolvamos el siguiente ejercicio.
Lea una matriz de orden nxn y muestre los elementos de la diagonal principal y diagonal
secundaria.

¿Cómo sabemos cuando estamos ubicados el la diagonal principal o en la diagonal secundaria?

Lic. Yamila Bolívar, Lic. Jesús Rojas


Departamento de Informática y Tecnología Educativa
DITE-UNEFM
______________________________________________________________________________________

#include <iostream>//archivos de cabecera


# define rango 100 //se define un tamaño para la matriz
main()
{
int i,j,n; //declaración de variables de recorrido y numero de elementos
float M[rango][rango]; //declaración de la matriz
//se valida el número de elementos que se solicita al usuario
do{
cout<<"\n\t Introduzca el orden de la matriz: ";
cin>>n;
if (n<1 || n>rango)
cout<<"\n\t el orden debe ser > 0 y <"<<rango<<endl;
}while(n<1 || n>rango);

//se llena la matriz con datos introducidos por el usuario, se emplean 2 ciclos
cout<<"\n\t Lectura de lo elementos de la Matriz\n";
for(i=0;i<n;i++) //ciclo para filas
for(j=0;j<n;j++) //ciclo para columnas
{
cout<<"\n M["<<i+1<<"]["<<j+1<<"]:";
cin>>M[i][j];
}
//se muestran los elementos de la matriz
cout<<"\n\t Mostrando elementos de la Matriz\n";
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
cout<<"\t"<< M[i][j];
cout<<"\n"; //permite efectuar un salto de linea desapues de cada fila
}
cout<<"\n\t Elementos de la Diagonal Principal\n";
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(i==j) //condición para ubicar elementos de la diagonal principal
cout<<"\t"<< M[i][j];
cout<<"\n\t Elementos de la Diagonal Secundaria\n";
for(i=0;i<n;i++)
for(j=0;j<n;j++)
if(i+j==n-1) //condición para ubicar elementos de la diagonal secundaria
cout<<"\t"<< M[i][j];
}

Lic. Yamila Bolívar, Lic. Jesús Rojas


Departamento de Informática y Tecnología Educativa
DITE-UNEFM
______________________________________________________________________________________

UNIVERSIDAD NACIONAL EXPERIMENTAL


“FRANCISCO DE MIRANDA”
VICE-RECTORADO ACADÉMICO
PROGRAMA: EDUCACIÓN MENCIÓN: INFORMÁTICA
UNIDAD CURRICULAR: COMPUTACIÓN II

GUÍA #01: Ejercicios de Matrices

1) Dada una matriz de 3x3:


a) Sumar los elementos de la diagonal principal.
b) Sumar los elementos pares que están por encima de la diagonal principal.
c) Contar los múltiplos de 3 que están por debajo de la diagonal principal.
d) Imprimir todos los resultados.

2) Dada una matriz de 4x4, calcular e imprimir un arreglo L donde cada elemento del arreglo sea
igual a la suma de los elementos de cada una de las filas de la matriz.

3) 10 trabajadores de la construcción laboran durante N días en cierta obra. Al final de cada


jornada se le graba a cada trabajador el código y el número de horas trabajadas cada día. Lea los
datos anteriores teniendo en cuenta lo siguiente: los códigos se almacenarán en un vector y las
horas en una matriz, en su orden, a cada elemento del arreglo le corresponde una fila de la
matriz. Se debe calcular e imprimir lo siguiente:
a) El total de horas trabajadas por cada hombre.
b) El total de horas trabajadas por todos los hombres en toda la obra.
c) El total de horas laboradas cada día.
d) El código del trabajador que más horas laboró.

4) Lea un arreglo bidimensional de 10 filas y 8 columnas. Lea un número, chequee si ese número
existe en algún elemento de la matriz leída, si es así, imprima los subíndices que identifican la
ubicación del elemento que contiene el valor del número leído, de lo contrario imprima el valor
leído y un mensaje que diga: “NO SE ENCUENTRA DENTRO DE LA MATRIZ”.

5) Dadas las matrices X y Z cuyos componentes son reales, diseñar funciones para:
a) Llenar o leer las matrices.
b) Si tienen el mismo orden:
b.1) Retornar el producto escalar del mismo.
b.2) Crear una tercera matriz que contenga la suma de X y Z.
c) Si son cuadradas, obtener el producto de los elementos que están por encima de la diagonal
principal de cada matriz.

Lic. Yamila Bolívar, Lic. Jesús Rojas

Das könnte Ihnen auch gefallen