Sunteți pe pagina 1din 6

Universidad César Vallejo

L I M A N O R T E

ESCUELA DE INGENIERIA DE SISTEMAS


Guía de Laboratorio de Algoritmos N0 13
“CODIFICANDO CON ARREGLOS UNIDIMENSIONALES
(VECTORES)”
USO DEL CONTROL”

I. OBJETIVOS
Al término de esta experiencia, el estudiante será capaz de:
1. Traducir a código C++ los ejercicios resueltos en pseudocódigos.
2. Identificar los diversos errores de compilación y corregirlos adecuadamente.
3. Plantear correctamente en código C++ el control.
4. Usar correctamente el programa.

II. FUNDAMENTO TEORICO


Para alcanzar los objetivos de esta experiencia, es necesario tener en consideración los
siguientes aspectos teóricos:
Un arreglo es un conjunto de elementos de igual tipo.
Por ejemplo:
• Si decimos arreglo de enteros, nos referimos a que nuestro conjunto de datos serán
solo del tipo números enteros (1,2,3,.....,etc).
• Si decimos arreglo de caracteres, será porque los datos que almacenaremos serán
solo del tipo carácter (‘a’, ’b’, ‘c’, ..... , etc).
Un arreglo permite almacenar y manipular los datos almacenados, por lo que podemos
decir que al trabajar con un arreglo, los datos no son volátiles, como suceden con las
variables, donde cabe la posibilidad de perder un valor anterior si es que se le asigna uno
nuevo.

Por ejemplo: Ingresar n números a un vector, y calcular el promedio.

#include <iostream.h>

void main() {

int n,i,suma=0,prom,a[50];
cout<<"Ingresar cantidad de valores: ";
cin>>n;
for(i=1;i<=n;i++)
{
cout<<"Ingresar numero: ";
cin>>a[i];
}
for(i=1;i<=n;i++)
{
suma=suma+a[i];
}
prom=suma/n;

1
cout<<"El promedio de los numeros ingresados es: "<<prom<<endl;
}

III. EQUIPOS Y MATERIALES

 Computadora personal
 Programa Borland C++ 4.5 instalado
 Cuaderno de clases, donde están los ejercicios resueltos en pseudocódigos.

IV. PROCEDIMIENTO

a) Encender el computador.
b) Crear carpeta donde guardará sus programas.
c) Ingresar al Borland C++ 4.5
d) Codificar los algoritmos desarrollados en el aula.
e) Presentar avances y ejecución de cada uno de los ejercicios al docente o jefe de
práctica encargado para la calificación correspondiente.
f) Guardar la carpeta de sus archivos a sus memorias.
g) Retirarse del laboratorio de forma ordenada.

ALGORITMOS – Arreglos Unidimensionales (Vectores)


Guía Práctica Nº 13

1. Guardar N y M números enteros a dos vectores tal como A y B, luego trasladar los números
impares del vector A al final del vector B.
2. Ingresar n números enteros a un vector, luego ingresar un numero cualquiera, se pide pasar a
un nuevo vector todos los números menores e iguales al numero que ingreso, en caso no exista
ninguno, mostrar un mensaje correspondiente.
Solución:

#include<iostream.h>
void main() {
int n,i,A[40],x,j=0,B[40];
cout<<"Ingresar tamaño del vector: ";
cin>>n;
for(i=1;i<=n;i++) {
cout<<"Ingresar numero: ";
cin>>A[i];
}
cout<<"Ingresar numero a comparar: ";
cin>>x;
for(i=1;i<=n;i++) {
if(A[i]<=x) {
j++;
B[j]=A[i];
}
}
if(j==0)
cout<<"No se encontro ningun numero menor o igual a X"<<endl;
else {
cout<<"Los numeros menores o iguales a ”<<x<<” son: "<<endl;

2
for(i=1;i<=j;i++)
cout<<A[i]<<"\t";
}
}
3. Guardar N y M números en dos vectores tal como A y B, luego mostrar A ∪ B en un nuevo
vector C.
Solución:
#include<iostream.h>

void ingresar(int&,int D[30]);


void unir(int,int,int A[30],int B[20],int&,int C[50]);
void imprimir(int,int D[50]);

void main() {
int n,A[30],m,B[20],q,C[50];
ingresar(n,A);
cout<<"\nEl vector A es:"<<endl;
imprimir(n,A);
ingresar(m,B);
cout<<"\nEl vector B es:"<<endl;
imprimir(m,B);
unir(n,m,A,B,q,C);
cout<<"\nEl vector C es:"<<endl;
imprimir(q,C);
}

void ingresar(int &x,int D[30]) {


cout<<"Ingresar tamaño del vector: ";
cin>>x;
for(int i=1;i<=x;i++) {
cout<<"Ingresar numero: ";
cin>>D[i];
}
}

void unir(int n,int m,int A[30],int B[20],int&q,int C[50]) {


int i;
for(i=1;i<=n;i++)
C[i]=A[i];
q=n+1;
for(i=1;i<=m;i++) {
C[q]=B[i];
q++;
}
}

void imprimir(int x,int D[50]){


for(int i=1;i<=x;i++)
cout<<D[i]<<"\t";
cout<<endl;

3
}

4. Ingresar n números enteros a un vector, calcule el promedio entero y luego reemplace el mayor
numero por el promedio calculado.
Solución:
#include <iostream.h>
void main() {
int n,i,suma=0,prom,a[50],mayor=0,pos;
cout<<"Ingresar cantidad de valores: ";
cin>>n;
for(i=1;i<=n;i++) {
cout<<"Ingresar numero: ";
cin>>a[i];
}
for(i=1;i<=n;i++) {
suma=suma+a[i];
}
prom=suma/n;
for(i=1;i<=n;i++) {
if(a[i]>mayor) {
mayor=a[i];
pos=i;
}
}
a[pos]=prom;
cout<<"El promedio de los numeros es: "<<prom<<endl;
cout<<"El vector reemplazado es: ";
for(i=1;i<=n;i++)
cout<<a[i]<<"\t";
}
5. Ingresar un de cuatro cifras, y colocar cada uno de sus dígitos en un vector, además mostrar
la posición del menor digito.
6. Guardar n números enteros a un vector, calcular el promedio y reemplazar todos los números
que ocupan las posiciones pares, por el promedio calculado.
7. En un concurso de conocimiento se almacena en un vector los nombres de N participantes y en
otro vector las notas obtenidas (valores de 0 a 20), se pide mostrar el nombre del participante
que obtuvo la mayor nota.
Solución:

#include <iostream.h>
void main()
{
int n,i, mayor=0,posm,a[50];
char*nom[10]={" "," "," "," "," "," "," "," "," "," "};

cout<<"Ingresar cantidad de valores: ";


cin>>n;
for(i=1;i<=n;i++) {
cout<<"Ingresar nombre: ";
cin>>nom[i];

4
cout<<"Ingresar puntaje: ";
cin>>a[i];
}

for(i=1;i<=n;i++) {
if(a[i]>mayor) {
mayor=a[i];
posm=i;
}
}
cout<<"El alumno con mayor nota es: ";
cout<<nom[posm];
}
8. En una empresa se va incrementar los sueldos de los empleados, para esto, se guarda en un
vector los nombres de los N empleados y en otro vector sus sueldos actuales, se pide calcular
el nuevo sueldo, sabiendo que para aquellos que ganen más de 2500 se le incrementara el 8%,
caso contrario, se le incrementara el 10%.
Solución:
#include<iostream.h>
void main() {
int n,i;
float sueldo[40],nsueldo[40];
char*nombre[10]={" "," "," "," "," "," "," "," "," "," "};
cout<<"Ingresar cantidad de empleados: ";
cin>>n;
for(i=1;i<=n;i++) {
cout<<"Ingresar nombre: ";
cin>>nombre[i];
cout<<"Ingresar sueldo: ";
cin>>sueldo[i];
}

for(i=1;i<=n;i++) {
if(sueldo[i]>2500)
nsueldo[i]=sueldo[i]+sueldo[i]*0.08;
else
nsueldo[i]=sueldo[i]+sueldo[i]*0.10;
}
cout<<"Los empleados: "<<endl;
for(i=1;i<=n;i++)
cout<<nombre[i]<<"\t";
cout<<endl;
cout<<"tienen un nuevo sueldo de: "<<endl;
for(i=1;i<=n;i++)
cout<<nsueldo[i]<<"\t";
}
9. Ingresar N y M números enteros a 2 vectores tal como A y B, si el vector A tiene mas
elementos que B, pasar los números impares de A al final de B, caso contrario, pasar los
números impares de B al fina de A.

5
10. Ingresar n números enteros a un vector, luego ingrese un numero, si el numero ingresado se
encuentra dentro del vector, que muestre su posición, caso contrario mostrar el mensaje: “El
numero no esta en el arreglo”.

S-ar putea să vă placă și