Está en la página 1de 7

1/7

GUIA DE LABORATORIO Nº2


VECTORES y MATRICES
OBJETIVOS

Al finalizar esta práctica el usuario estará capacitado en realizar lo siguiente:

1. Utilizar arreglos unidimensionales


2. Utilizar arreglos bidimensionales.
3. Arreglos unidimensionales como parámetros de una función.
4. Arreglos bidimensionales como parámetros de una función.

I. ARREGLOS UNIDIMENSIONALES

Ejem. 1

#include <iostream>
#include <iomanip>
using namespace std;
const int N=10; // N es una constante tipo entera;
//
//Programa Principal
int main()
{ int i, A[N]={0}; //Inicializa el vector A con 0 todos sus elementos
cout<<"VECTOR INICIALIZADA CON CEROS\n";
for(i=0;i<N;i++)
cout<<"A["<<i<<"]="<<setw(3)<<A[i]<<endl;
/*setw, es usado para establecer el ancho del campo (separacion de los datos)
la misma está en la libreria iomanip.h */
cout<<"\nVECTOR INICIALIZADA CON EL VALOR DEL INDICE POR 3\n";
for(i=0;i<N;i++)
{ A[i]=i*3;
cout<<"A["<<i<<"]="<<setw(3)<<A[i]<<endl;
}
}

Ejem. 2

#include <iostream>
#include <iomanip>
const int N=50; // N es una constante tipo entera
//Definición de las funciones
void LlenarAlfa(char a[], int &n)
{ int i=0; char k;
for(k=’A’;k<=’Z’;k++;i++)

Algoritmos y programación Ing. Félix Huari Evangelista


2/7

a[i]=k;
n=i;
}

void Print(char a[], int n)


{ int i=0;
cout<<"SALIDA DEL VECTOR A\n";
for(; i<n ;i++)
cout<<"A["<<i<<"]="<<setw(3)<<a[i];
cout<<endl;
}

//Programa Principal
int main()
{ int n;
char A[N]; //A es un vector que almacena los caracteres alfabéticos
LlenarAlfa(A,n);
Print(A, n);
}

II. ARREGLOS BIDIMENSIONALES

Ejem. 3
#include <iostream>
#include <iomanip>
using namespace std;
//Definicion de las funciones
void Escribir( int A[][4])
{ int i,j;
cout<<"**** MATRIZ A ****"<<endl<<endl;
for(i=0;i<3;i++)
{ for(j=0;j<4;j++)
cout<<setw(4)<<A[i][j];
cout<<endl;
}
cout<<endl;
}

int MayorElem( int A[][4])


{ int i,j,k,may;
for(i=0,k=0;i<3;i++)
for(j=0;j<4;j++)
{ if(k==0)
may=A[i][j];
else if(A[i][j]>may)
may=A[i][j];

Algoritmos y programación Ing. Félix Huari Evangelista


3/7

k++;
}
return may;
}

//programa principal
int main()
{ int A[][4]={28,20,10,55,13,75,30,90,70,68,59,40};
int mElem;
Escribir(A);
mElem=MayorElem(A);
cout<<"Mayor Elemento es:"<<mElem<<endl<<endl;
}

Ejem. 4
#include <iostream>
using namespace std;
const int MAX=20; //orden maximo de una matriz
//definicion de las funciones
void leer_mat(int &n, int X[MAX][MAX])
{int i,j;
cout<<”Orden de la matriz cuadrada..?_:”; cin>>n;
cout<<"Ingrese "<<n<<" datos por fila:\n";
for(i=0; i<n; i++)
for(j=0; j<n; j++)
{ cout<<"X["<<i<<"]["<<j<<"]=";
cin>>X[i][j];
}
}

void escribe_mat(int n, int X[MAX][MAX])


{ int i, j;
for(i=0; i<n; i++)
{ for(j=0; j<n; j++)
cout<<X[i][j]<<" ";
cout<<endl;
}
}

void suma_mat(int n, int a[][MAX],int b[][MAX],int s[][MAX])


{int I,j;
for (i=0; i<n; i++)
for(j=0; j<n; j++)
s[i][j]=a[i][j] + b[i][j];
}

Algoritmos y programación Ing. Félix Huari Evangelista


4/7

//Programa principal
int main()
{ int a[MAX][MAX], b[MAX][MAX],s[MAX][MAX],n;
cout<<"\nMATRIZ A: ";
leer_mat(n,a); //llamada a funcion leer matriz
cout<<"\nMATRIZ B: ";
leer_mat(n,b); //llamada a funcion leer matriz
suma_mat(n,a,b,s); //llamada a funcion sumar matrices
cout<<"\nMATRIZ A: "<<endl;
escribe_mat(n,a);
cout<<"\nMATRIZ B: "<<endl;
escribe_mat(n,b);
cout<<"\nMATRIZ SUMA S = A+B : "<<endl;
escribe_mat(n,s);
}

Ejem. 5
/* Programa que llena una matriz de orden 8 x 8 con numeros pseudoaleatorios*/
#include <iostream>
#include <stdlib.h> // La funcion srand() y rand() estan dentro de esta libreria
#include<time.h>
using namespace std;
const int N=8;
// Definicion de funciones
void Numeros(int B[][N])
{ int i,j;
srand(time(NULL)); //Generador de semilla en funcion del tiempo
for(i=0;i<N;i++)
for(j=0;j<N;j++)
B[i][j]=1+rand()%100; // Genera numeros pseudoaleatorios entre 1 y 100
}

void Escribir(int B[][N])


{ int i,j;
for(i=0;i<N;i++)
{
for(j=0;j<N;j++)
cout<<" "<<B[i][j]<<"\t";
cout<<endl<<endl;
}
}

//Funcion principal
int main()
{ int X[N][N];

Algoritmos y programación Ing. Félix Huari Evangelista


5/7

cout<<"A R R E G L O D E N U M E R O S P S E U D O A L E A T O R I O
S\n";

cout<<"____________________________________________________________
______\n\n";
Numeros(X);
Escribir(X);
}

Algoritmos y programación Ing. Félix Huari Evangelista


6/7

EJERCICIOS PROPUESTOS

1. Escribir un programa que permita almacenar en un vector 20 números


reales y positivos, para luego escribir el vector, el segundo número mayor y
el segundo número menor.
2. Dada la función f(x)=x3.sen(x), se pide escribir un programa que permite
imprimir los 2 vectores generados, para ello el valor de x va de 0 a 2 con
incrementos de 0.1.
X F(X)
0 0
0.1

3. Elabore un programa que permita inicializar un vector de tamaño n con el


valor opuesto de su índice, por ejemplo el elemento 0 tendrá como valor n,
el elemento 1 el valor de n-1 y así sucesivamente. Escribir el vector
generado.

4. Escribir un programa que permite ingresar 2 números enteros mayor o igual


que 2 dígitos, para luego pasar los dígitos comunes a un vector, si en
ambos hay dígitos repetidos, solo debe considerar uno de ellos. Finalmente
imprimir el vector.

5. Suponga que a Ud. lo designan para participar como jurado calificador en el


concurso de belleza de N señoritas para el trono de Mis Perú, los
organizadores han establecido 5 criterios de evaluación que son los
siguientes:
Belleza, desenvolvimiento, traje de baño, traje de noche, medidas del
cuerpo. El puntaje varía de 1 a 10 como máximo. Simular los puntajes en
forma aleatoria para cada criterio y por cada participante, para luego escribir
• El resultado de las N candidatas con sus correspondientes puntuaciones
obtenidas para cada criterio.
• Determinar el número de la candidata ganadora.
• Si existe más de una ganadora, mostrar el mensaje adecuado.

6. En un salón de clase existen n alumnos, por cada estudiante se ingresan los


siguientes datos: código, y sus cinco notas donde estas están entre 0 y 20. Escribir
un programa que permita imprimir el código, las cinco notas, promedio y un
mensaje (aprobado o desaprobado), para cada uno de los n alumnos. Para el
cálculo del promedio considerar las 4 mejores notas. Además, mostrar un resumen
de cantidad de aprobados, cantidad de desaprobados, porcentaje de aprobados y
desaprobados.
7. Se tiene las ventas en miles de soles que corresponde a una semana (Lunes a
Domingo) de 3 sucursales de una tienda, los datos son lo siguiente: 100, 800, 500,

Algoritmos y programación Ing. Félix Huari Evangelista


7/7

900, 250, 960, 145, 789, 456, 445, 660, 700, 810, 490, 1080, 720, 580, 485, 870,
935, 795. Se pide determinar lo siguiente:
✓ Que día se produjo la mayor venta, a cuánto asciende y en que
sucursal.
✓ Que día se realizó la menor venta, a cuánto asciende y en que sucursal
se produjo.
✓ Mostar los datos de las ventas, total de ventas semanales, total de
ventas diarias.
8. Se ha tomado una muestra de n datos (ruidos en decibeles) en una
empresa metalmecánica, se pide calcular la media, varianza y la desviación
estándar, para ello defina funciones para cada caso.
9. Se pide escribir un programa que permita generar una matriz diagonal. En
una matriz diagonal todos los elementos situados por encima y por debajo
de la diagonal principal son 0.
10. Una matriz escalar es una matriz diagonal en la que los elementos de la
diagonal principal son iguales. Escribir una función para comprobar.

Algoritmos y programación Ing. Félix Huari Evangelista

También podría gustarte