Está en la página 1de 13

U NIVERSIDAD M ILITAR N UEVA G RANADA

D EPARTAMENTO DE T ECNOLOGÍAS DEL C ONOCIMIENTO


P ROGRAMACIÓN I – T ALLER 13

Crear programas en Visual C++ usando arreglos unidimensionales que permitan:

1. Leer 10 números y guardarlos en un vector

#include<iostream>
using namespace std;
int main()
{
int num[10];
for (int i = 0; i < 10; i++)
{
num[i] = rand() % 10;
/*imprimir vector*/
for (int i = 0; i < 10; i++)
{
cout << num[i] << endl;
}
}

system("pause");
return 0;
}

2. Llenar un vector A con 15 enteros consecutivos, el valor de la primera posición del


arreglo entra por teclado

#include<iostream>
using namespace std;

int main()
{
int i, inicio, vectorA[15];
cout << "ingrese el numero en el cual quiere que empieze la serie:";
cin >> inicio;
//crear el vector
for (i = 0; i < 15; i++)
{
vectorA[i] = i + inicio;
}
// escribir
for (i = 0; i < 15; i++)
{
cout << vectorA[i] << " ";
}
cout << endl;
system("pause");
return 0;
}

Programación I Taller 113 – Arreglos en Visual C++ Página 1


3. Almacenar en dos vectores A y B, 10 números enteros en cada uno; calcular y mostrar
en el vector Z (del mismo tamaño) las operaciones aritméticas de suma, resta,
multiplicación, división (validar la división por 0) y el producto de uno de los vectores
por una constante K (ingresada por teclado)

#include<iostream>
using namespace std;
int main()
{
/*llenar un arreglo*/
double a[10],b[10],z[10];
/*cargar vectores*/
for (int i = 0; i < 10; i++)
{
a[i] = rand() % 100;
b[i] = rand() % 100;
}
/*imprimir vector*/
cout << endl << "vector a: \t";
for (int i = 0; i < 10; i++)
cout << a[i] << "\t";
/*imprimir vector*/
cout << endl << "vector b: \t";
for (int i = 0; i < 10; i++)
cout << b[i] << "\t";

/*calcular la suma de dos vectores*/


for (int i = 0; i < 10; i++)

z[i] = a[i] + b[i];


/*imprimir vector*/
cout << endl << "suma : \t";
for (int i = 0; i < 10; i++)
cout << z[i] << " \t";
/*calcular la resta de dos vectores*/
for (int i = 0; i < 10; i++)

z[i] = a[i] - b[i];


/*imprimir vector*/
cout << endl << "resta : \t";
for (int i = 0; i < 10; i++)
cout << z[i] << " \t";
/*calcular la multiplicacion de dos vectores*/
for (int i = 0; i < 10; i++)

z[i] = a[i] * b[i];


/*imprimir vector*/
cout << endl << "multiplicacion: \t";
for (int i = 0; i < 10; i++)
cout << z[i] << " \t";
/*calcular la division de dos vectores*/
for (int i = 0; i < 10; i++)

if (b[i] != 0)
z[i] = a[i] / b[i];

Programación I Taller 113 – Arreglos en Visual C++ Página 2


else
z[i] = 0;
/*imprimir vector*/
cout << endl << "division: \t ";
for (int i = 0; i < 10; i++)
cout << z[i] << " \t";

/*calculo de multiplicado por k*/


int k;
cout << endl << "entre k";
cin >> k;
for (int i = 0; i < 10; i++)
z[i] = a[i] * k;
/*imprimir vector*/
cout << endl << "por k : \t ";
for (int i = 0; i < 10; i++)
cout << z[i] << " \t";

system("pause");
return 0;
}

4. Cargar un arreglo con los números primos comprendidos entre 1 y 100 y mostrarlos en
pantalla

#include <iostream>
#include <time.h>
using namespace std;
int main()
{
   int M[6][6] = { 0 };
   /*Imprimir Matriz*/
   for (int i = 0; i < 6; i++)
   {
         cout << endl;
         for (int j = 0; j < 6; j++)
                cout << M[i][j] << "\t";
   }
 
 
   /*Cargar Matriz*/
   for (int i = 0; i < 6; i++)
         M[i][i] = 1;
 
   /*Imprimir Matriz*/
   cout << endl;
   for (int i = 0; i < 6; i++)
   {
         cout << endl;
         for (int j = 0; j < 6; j++)
                cout << M[i][j] << "\t";

Programación I Taller 113 – Arreglos en Visual C++ Página 3


   }
 
   system("pause");
   return 0;
 
}

5. Inicializar el arreglo A de 10 elementos, con números enteros de un dígito y llenar y


mostrar por pantalla el vector V con los cuadrados de los elementos del vector A

#include<iostream>
using namespace std;
int main()
{
/*llenar un arreglo*/
int a[10];
for (int i = 0; i < 10; i++)

a[i] = rand() % 10;


/*imprimir vector*/
for (int i = 0; i < 10; i++)

cout << a[i] << "\t";


/*generar un vector desde un arreglo elevado al cuadrado*/
int v[10];
for (int i = 0; i < 10; i++)
v[i] = a[i] * a[i];
/*imprimir vector*/
cout << endl;
for (int i = 0; i < 10; i++)

cout << v[i] << "\t";

system("pause");
return 0;
}

6. Escribir un programa que, tras asignar números enteros positivos y negativos a un


arreglo de n elementos, calcule independientemente la suma de los elementos positivos
y de los elementos negativos

7. Crear un vector V con las notas de los 10 alumnos de una clase y calcular e imprimir:

 La nota promedio
 La nota más alta
 La nota más baja
 Número de notas aprobatorias
 Número de notas reprobatorias

Programación I Taller 113 – Arreglos en Visual C++ Página 4


 Número de notas cuyo valor está por encima del promedio
 Número de notas cuyo valor está por debajo del promedio

#include <iostream>
#include <time.h>
using namespace std;
int main()
{
float notas[50], suma_notas = 0, promedio, nota_my = 0, nota_mn = 5;
int i, n_notas, cont_ap = 0, cont_rp = 0, cont_nmp = 0, cont_myp = 0;
srand(time(NULL));
cout << "cuantas estudiantes son";
cin >> n_notas;
for (i = 0; i < n_notas; i++)
{
notas[i] = rand() % 51 * 0.1;

}
cout << endl;
for (i = 0; i < n_notas; i++)
{
cout << "\t" << notas[i];
}
cout << endl;
for (i = 0; i < n_notas; i++)
{
suma_notas = suma_notas + notas[i];
if (notas[i] > nota_my)
{
nota_my = notas[i];
}
if (notas[i] < nota_mn)
{
nota_mn = notas[i];
}
if (notas[i] < 3)
{
cont_rp = cont_rp + 1;
}
else
{
cont_ap++;
}
}
promedio = suma_notas / n_notas;
for (i = 0; i < n_notas; i++)
{
if (notas[i] < promedio)
{
cont_nmp++;
}
else
{
cont_myp++;
}
}

Programación I Taller 113 – Arreglos en Visual C++ Página 5


cout << "el numero de notas es" << n_notas << endl;
cout << " el promedio de notas es" << promedio << endl;
cout << "la maxima nota es" << nota_my << endl;
cout << "la minima nota es" << nota_mn << endl;
cout << "numero de notas aprobatorias:" << cont_ap << endl;
cout << " numero de notas reprobatorias" << cont_rp << endl;
cout << "#notas por encima del promedio" << cont_myp << endl;
cout << "#notas por debajo del promedio" << cont_nmp << endl;
cout << endl;
system("pause");
return 0;
}

8. Declarar el Vector A de 7 posiciones con los datos:

Vector A: 7 34 23 4 5 6 8

Crear el Vector B
desplazando hacia la derecha k posiciones el Vector A Por ejemplo, si k = 2:
Vector B: 6 8 7 34 23 4 5

#include<iostream>
using namespace std;
int main()
{
int vectorA[7] = { 7,34,23,4,5,6,8 };
for (int i = 0; i < 7; i++)
cout << vectorA[i] << "\n";
int vectorB[7] ,k;
cin >> k;
for (int i = 0; i < 7; i + k)
vectorB[i] = vectorA[i];
for (int i = 0; i < 7; i + k)
cout << vectorB[i] << "\n";

system("pause");
return 0;
}

9. Crear aleatoriamente un Vector A de 10 posiciones y ordenarlo de menor a mayor en el


Vector B

Crear programas en Visual C++ usando arreglos bidimensionales que permitan:

#include <iostream>
using namespace std;
int main()
{

Programación I Taller 113 – Arreglos en Visual C++ Página 6


int i,j,temporal,vector[10] = { 3,0,1,8,7,2,5,4,9,6 };
// escribir el vector original
cout << endl;
for (i = 0; i < 10; i++)
{
cout << "\t" << vector[i];
}

//invertir el vector
for (i = 0; i < 9; i++)
{
for (j = i +1 ; j < 10; j++) // recorro el resto del vector
{
temporal = vector[j];
vector[j] = vector[i];
vector[i] = temporal;
}
}
cout << endl;
for(i = 0; i < 10; i++)
{
cout << "\t" << vector[i];
}
cout << endl;
system("pause");
return 0;
}

10. Escribir un programa que divida todos los elementos de una matriz M (3 X 4) por el
elemento situado en la posición (2,2). Validar la división por 0
#include <iostream>
using namespace std;
int main()
{
float M[3][4];
/*Cargar Matriz*/
for (int i = 0; i < 3; i++)
for (int j = 0; j < 4; j++)
M[i][j] = rand() % 10;

/*Imprimir Matriz*/

cout << endl;


for (int i = 0; i < 3; i++)

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

cout << endl;


cout << endl;
cout << "División" << endl;

Programación I Taller 113 – Arreglos en Visual C++ Página 7


/*Division*/
float D[3][4];

/*Cargar Matriz*/
for (int i = 0; i < 3; i++)
for (int j = 0; j < 4; j++)
D[i][j] = M[i][j] / M[2][2];

/*Imprimir Matriz*/

cout << endl;


for (int i = 0; i < 3; i++)

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

system("pause");
return 0;
}
11. Inicializar el arreglo M de 6 filas por 6 columnas con ceros (0) y visualizarlo en pantalla.
Después, remplazar los elementos de la diagonal principal con unos (1) generando de
esta manera matriz idéntica y mostrarla en pantalla

#include<iostream>
#include<time.h>
using namespace std;
int main()
{
int m[6][6] = { 0 };
srand(time(NULL));

/*imprimir matriz*/
for (int i = 0; i < 6; i++)
{
cout << endl;
for (int j = 0; j < 6; j++)
cout << m[i][j] << "\t";
}
/*hacer diagonal*/
for (int i = 0; i < 6; i++)

m[i][i] = 1;

/*imprimir matriz*/
for (int i = 0; i < 6; i++)
{

cout << endl<<endl;


for (int j = 0; j < 6; j++)
cout << m[i][j] << "\t";

Programación I Taller 113 – Arreglos en Visual C++ Página 8


system("pause");
return 0;
}

12. Determinar la posición del elemento más grande de un arreglo M de 4 filas por 3
columnas, que contiene solamente números enteros. Los valores de los elementos de la
matriz se asignan en la declaración

#include<iostream>
using namespace std;
int main()
{
int m[4][3] = {15,4,12,13,20,13,8,10,24,11,2,5},mayor=0;
/*imprimir matriz*/

for (int i = 0; i < 4; i++)


{

cout << endl << endl;


for (int j = 0; j < 3; j++)
cout << m[i][j] << "\t";

}
/*determinar el numero mayor*/
for (int i = 0; i < 4; i++)
{

cout << endl << endl;


for (int j = 0; j < 3; j++)
if (m[i][j] > mayor)
{
mayor = m[i][j];
}

}
cout << "\n el mayor elemento es:" << mayor << endl;

system("pause");
return 0;
}

13. Generar aleatoriamente una tabla T de 5 filas por 3 columnas y calcular la suma y el
promedio de todos sus elementos y determinar el número de elementos pares e impares

#include <iostream>
using namespace std;
int main()
{
int m[5][3];
/*cargar matriz*/

Programación I Taller 113 – Arreglos en Visual C++ Página 9


for (int i = 0; i < 5; i++)
for (int j = 0; j < 3; j++)
m[i][j] = rand() % 10;

/*imprimir una matriz*/


cout << endl;
for (int i = 0; i < 5; i++)
{
cout << endl;
for (int j = 0; j < 3; j++)
cout << m[i][j] << "\t";

}
for (int i = 0; i < 1; i++)
{
cout << endl;
for (int j = 0; j < 3; j++)
cout << m[i] << "+" << m[j] << "\t";

}
for (int i = 0; i < 1; i++)
{
cout << endl;
for (int j = 0; j < 3; j++)
cout << m[i] << "/" << m[j] << "\t";

system("pause");
return 0;
}

14. Llenar una matriz M de 4 X 3 y mostrar su transpuesta (la traspuesta se consigue


intercambiando filas por columnas y viceversa)

#include<iostream>
#include<time.h>
using namespace std;
int main()
{
int m[4][3] = { 0 };

/*cargar una matriz*/


for (int i = 0; i < 4; i++)

for (int j = 0; j < 3; j++)


m[i][j]=rand()%10;
/*imprimir matriz*/
for (int i = 0; i < 4; i++)
{

cout << endl << endl;


for (int j = 0; j < 3; j++)

Programación I Taller 113 – Arreglos en Visual C++ Página 10


cout << m[j][i] << "\t";

/*imprimir matriz transpuesta */


for (int i = 0; i < 3; i++)
{

cout << endl<<endl;


for (int j = 0; j < 4; j++)
cout << m[j][i] << "\t";

system("pause");
return 0;
}

15. Dada dos tablas A y B de 4 X 4 cada una, calcular y mostrar los resultados de:

 A +B
 A -B
 A *B
 A /B
Realizarlo las operaciones elemento por elemento
 k*A donde k es una constante que se ingresa por teclado

16. Buscar un número digitado por teclado dentro de una matriz de 5 filas por 6 columnas:

 Si este número se encuentra se debe remplazar por un cero e imprimir la cantidad


de veces que aparece.
 Si no se encuentra, imprimir un mensaje indicando que no se encontró.

Los datos se pueden generar aleatoriamente o ingresarlos en la definición de la matriz

#include <iostream>
using namespace std;
int main()
{
int M[5][6] = { 0 };
/*imprimir matriz*/
for (int i = 0; i < 100; i++)
for (int j = 0; j < 100; j++)
M[i][j] = rand() % 100;
/*imprimir matriz*/
for (int k = 0; k > 0; k++)
cout << "DIGITE NUMERO" << endl;
system("pause");
return 0;

Programación I Taller 113 – Arreglos en Visual C++ Página 11


}

17. En una Fábrica se desea incentivar a los jefes de turno de producción. A cada jefe le
corresponde un turno. Hay 4 turnos, y por cada uno de ellos 5 operarios. Para evaluar
(en forma lógica) a los jefes, se ha hecho una encuesta entre los trabajadores.

Se les ha pedido que evalúen a su jefe en una escala de 0 a 10, siendo 6 el mínimo
aprobatorio. Los resultados están almacenados en un arreglo tipo Nota [turno,
operario] donde turno indica el número de turno y operario el número de operarios
dentro del turno

Elaborar un programa en C++ que determine en qué turnos todos los operarios del
mismo han aprobado al jefe

18. Los resultados de las elecciones por candidato y por zona son los siguientes:
Zona Candidato A Candidato B Candidato C Candidato D

1 294 64 213 65
2 178 32 423 17
3 246 79 165 21
4 542 65 975 34
5 850 64 1002 23
Teniendo en cuenta la anterior información:

 Solicitar el número de votos por candidato y zona


 Imprimir los datos numéricos de la tabla
 Calcular el total de votos por candidato
 Calcular el porcentaje del total de votos por candidato  Calcular el total de votos por
zona.
 Imprimir el candidato ganador.
 Si ningún candidato recibe más del 50%, de la votación, imprimir los dos candidatos
de mayor votación que pasarían a la segunda vuelta.

19. Un almacén vende 4 productos diferentes en 3 sucursales ubicadas en 3 zonas distintas


de la ciudad. La siguiente tabla presenta la producción diaria (en miles) de cada zona.
Total por
Zona 1 Zona 2 Zona 3
Producto
Producto 1 30 25 27
Producto 2 18 29 31
Producto 3 38 35 22
Producto 4 32 42 14
Total por Zona

 Capturar por teclado los datos por producto y por zona


 Determinar la mayor producción por Zona
 Determinar la menor producción por Producto

Programación I Taller 113 – Arreglos en Visual C++ Página 12


 Sumar y mostrar los promedios de producción por zona (por columnas)

Programación I Taller 113 – Arreglos en Visual C++ Página 13

También podría gustarte