Вы находитесь на странице: 1из 13

PROGRAMA DE INGENIERIA INDUSTRIAL

PROGRAMACIN II
SEGUNDA ACTIVIDAD COMPLEMENTARIA
De antemano xitos en el taller, para desarrollarlo tenga en cuenta por cada
uno de los ejercicios:
1. Implementar cada ejercicio en C++ Visual Studio 2008 en Visual Studio
2010.
2. En cada lnea de cdigo en C++, comentar el propsito por el cual fue
incluido en el desarrollo de la solucin; es decir, por cada rengln
programado, escribir (como comentario) en el mismo ejercicio, para qu
sirve en la solucin que plantea.
3. Una vez terminado el ejercicio sin errores:
4. Copie el enunciado del ejercicio respectivo en un archivo de Ms Word,
seguido
5. Copie el cdigo de C++ que escribi como solucin al problema, seguido
a este
6. Copie un pantallazo del ejercicio en ejecucin en la consola, detallando
cada paso.
7. En el mismo archivo de Word copie igual los otros problemas propuestos
8. Grabe el archivo con su nombre y por ltimo
9. Sbalo a la actividad correspondiente
10.Recuerde que solo se califica en la actividad no en otro lado.
11.Todos los ejercicios a continuacin los debe implementar; puede subir
hasta 3 archivos de Word en esta actividad, recomiendo distribuirlos
primer archivo Word tres primeros ejercicios, segundo archivo de Word
los siguientes tres ejercicios y el ltimo archivo de Word los cuatro
ltimos.
12.Este trabajo es totalmente individual, no deben haber ejercicios iguales,
se anulara el trabajo en caso contrario.

EJERCICIOS PROPUESTOS PARA SU DESARROLLO


EN C++
1) Haga un programa que reciba como entrada un arreglo unidimensional
A que ha sido llenado con valores enteros escritos al azar y genere como
salida otro vector (arreglo B) con una lista de los nmeros impares
encontrados en el primer arreglo.
DATO: VEC [1N]
1 N 500

Solucin
#include "stdafx.h"
#include "iostream"
#include "stdlib.h"
#include "conio.h"
#include "math.h"
using namespace std;// se declaran librerias
int main()//Iniciamos el programa
{
int i, num, arre_i[10], cont_i=0; //Declaracin del Arreglo arre_i que almacenar 10
valores de tipo entero, tambin estoy declarando la variable i
//y la variable num de tipo entero en num se guardar el valor capturado desde el teclado y
un contador cont_i para la variable i

for(i=1; i<=10; i++) //Se inicia el ciclo for


{
cout<<"Introduce un numero "<< i <<", debe ser menor a 500"<<endl;//se
solicitan los datos
cin>>num;//Se almacena el numero en la variable num
if(num<=500) //iniciamos el condicinal para validar que los numeros sean
menores a 500
{
if( num % 2 == 1)//Inicio del condicional para establece cuales son los numero
impares
{
arre_i[cont_i]=num; //se organizan los arreglos y se ejecutan operaciones
cont_i++;
}//Final del condicional
}
else //establecemos que pasa si el numero es mayor a 500
{
cout<<"el numero debe ser menor a 500"<<endl; // generamos aviso de
error

system("pause");//pausamos el sistema para mostrar el aviso


return 0;// terminamos el programa por no cumplir con las condiciones
}
}//Final del ciclo for

cout<<"Los numeros impares son: "<<endl; //generamos mensaje de salida


con el resultado de las operaciones

for(i=0; i<cont_i; i++)//Inicio del ciclo for para completar los 10 datos solicitados
cout<<arre_i[i]<<endl;
system("pause");//se da la pausa para que el programa de resultados
}//Fin del programa

Pantallazos

2) Supongamos que en una eleccin hubo 12 candidatos (Con


identificadores 1, 2, 3,12) Por otra parte, los votos para cada candidato
se teclean de manera desorganizada, como se muestra a continuacin:
1 5 7 5 1 12 10 7 1 7 5 8 1 5 -1 (El final de los datos est dado por -1)
Construya un programa que pueda proporcionar la siguiente
informacin:
a) El nmero de votos de cada candidato al final de la eleccin.
b) El candidato ganador, el nmero de votos que obtuvo y el porcentaje
correspondiente del total de la eleccin. Suponemos que el candidato
ganador no empat en nmero de votos con otro candidato.
Solucin
#include "stdafx.h"
#include "iostream"
#include "stdlib.h"
#include "conio.h"
#include "math.h"
//se definen las librerias
using namespace std;
int main ()//inicio de programa
{
int V[12],por[12],votos=0, w=0, total=0;//declaramos arreglo con 12 posiciones y
dos variables
for (int i=0; i<12; i++)//inciiamos ciclo for para recorrer las 12 posiciones
{
cout<<" ingrese los votos del candidato "<< i+1 <<endl;//solicitamos lso votos de
cada candidato
cin>>votos;//almacenamos los votos de cada candidato en la variable votos
V[i]=votos;//almacenamos el resultado de votos en la posicion i del arreglo V
total=total+votos;
}//fin del for
cout<<" RESULTADO DE LAS VOTACIONES"<<endl<<endl;//Se da el
resultado de las elecciones
for (int i=0;i<12;i++)//iniciamos un ciclo para mostrar los resultados
{
cout<<"El candidato "<<i+1<<" Obtuvo "<<V[i]<<endl;//imprimimos el resultado
de votacion para cada candidato
por[i]= (V[i] * 100)/total;
cout<<"El candidato "<<i+1<<" Obtuvo "<<por[i]<<"% "<<"de un total de votos
de "<<total<<endl;//imprimimos el resultado de votacion para cada candidato en
porcentaje

if (V[w]<V[i])//iniciamos una condicional para determinar cual es la mayor votacion


dentro del arreglo
{
w= i;//alamcenamos el valor de i endonde se encuentra el mayor numero de votos
}//fin del if
}//fin del for
cout<<" El Ganador es el candidato numero "<<w+1<<endl;// impimimos el numero del
candidato con mayor votacin
system("pause");
return 0;
}//fin del programa

pantallazos

3) En un arreglo unidimensional se almacenan las calificaciones de N


alumnos. Construya un programa que permita calcular e imprimir lo
siguiente:
a) El promedio general del grupo
b) Nmero de alumnos aprobados y nmero de alumnos reprobados ( SI
el alumno sac una calificacin menor a 6 se le considera reprobado).
c) Porcentaje de alumnos aprobados y reprobados
d) Nmero de alumnos cuya calificacin fue mayor a 8
Solucin
#include
#include
#include
#include
#include

"stdafx.h"
"iostream"
"stdlib.h"
"conio.h"
"math.h"//se definen librerias

using namespace std;


int main()//Inicio del programa
{

double pap, prep, ap=0, rep=0, exc=0, tot=0, prom;


float not[10];//declaracion de arreglo para notas y variables

cout<<"Escriba las notas finales de los estudiantes: "<<endl;//Se solicita las notas
finales de los estudiantes
for(int X=1;X<=10;X++)//Inicio del ciclo for para recorrer el arrglo de notas
{
cin>>not[X];// se guardan los valores ingresados en las posiciones del
arreglo
if(not[X]>=6)//Se inicia el condicional if para definir los aprobados

ap=ap+1;// aumenta el contador para aprobados


else rep=rep+1;//En caso de no cumplir sern los reprobados y se aumenta
el contador de reprobados
if(not[X]>8)//Se crea un condicional para los alumnos que su calificacin fue
mayor a 8
exc=exc+1;//Se aumenta el contador para los de calificacion mayor a 8
tot=tot+not[X];//se van sumando todas las notas
}//Terminacin del ciclo for

prom=tot/10;//se calcula el promedio de notas


cout<<"El promedio de notas es: "<<prom<<endl;// se imprime el promedio de
notas

cout<<"Los alumnos aprobados son: "<<ap<<" Los alumnos reprobados son:


"<<rep<<endl;//Se dan los resultados con los alumnos aprobados y los reprobados
pap=ap*10;//Se realizan las operaciones para obtener el porcentaje de los
estudiantes aprobados
cout<<"El porcentaje de estudiantes aprobados es: "<<pap<<"%"<<endl;//Se
muestra el resultado
prep=rep*10;//Se realizan las operaciones para obtener el porcentaje de los
estudiantes reprobados
cout<<"El porcentaje de estudiantes reprobados es: "<<prep<<"%"<<endl;//Se
muestra el resultado
cout<<"Los alumnos sobresalientes con nota mayor a 8 son: "<<exc<<endl;//Por
ltimo se dan los estudiante que obtuvieron una nota superior a 8
system("pause");
}//Fin del programa

Pantallazos:

4) Se tienen un arreglo bidimensional con valores escritos al azar. Haga un


programa que identifique los valores palndromos y los pase a un
arreglo unidimensional.
#include
#include
#include
#include
#include

"stdafx.h"
"iostream"
"stdlib.h"
"conio.h"
"math.h"//se definen las librerias

using namespace std;


//Inicio del programa

int main()
{
//declaramos vairavbles y arreglos
int mat[2][2], mat2[4],a,b,num=0,cnum1,cnum2,n=0,i=0,j=1,k,J,cifraa,cifrab, sw=1;
//iniciamos el arreglo
cout<<"Digite un numero entero: "<<endl; //Se solicita digitar el numero
for(a=0;a<2;a++)
{
for(b=0;b<2;b++)
{
cin>>mat[a][b];//el numero ingresado se almacena en
la variable
}
}
for(a=0;a<2;a++)//iniciamos la verificacion de si es o no palindromo para cada
posicion del la matriz inicial
{
for(b=0;b<2;b++)
{
sw=1;
j=1;
i=0;
n++;
cnum1=abs(mat[a][b]);//Se calcula el valor absoluto
del nmero ya que el signo es despreciable
while(cnum1>0)// se inicia un ciclo while para obtener
las cifras del numero

{
i++;
cnum1=cnum1/10;
}

cnum1=mat[a][b];//Volvemos a asignar la copia al


nmero original ya que se ha modificado debido al clculo de las cifras
while(j<=i/2)//Comparamos hasta la mitad del nmero
y mientras que las cifras a comparar sean iguales
{
cnum2=mat[a][b];
cifraa=cnum1%10;//Se saca la cifra mas
a la derecha
k=0;//Un contador k para sacar la cifra
ms a la izquierda
while(k<=i-j)//La frmula i-j nos dice
hasta donde se debe seguir reduciendo el nmero para sacar la cifra ms a la izquierda
{
cifrab=cnum2%10;
cnum2=cnum2/10;
k++;
}

if(cifraa!=cifrab)//Ya teniendo las cifras,


se comparan. Si son diferentes se cambia valor de sw a 0
{
sw=0;
}
cnum1=cnum1/10;
j++;
}
if (sw==1)//Si sw=1 es porque el nmero es palndromo Si no,
es porque no es palndromo
{
mat2[n-1]=mat[a][b];//rellenamos el vector con el
numero si es plalindromo
}
else
{
mat2[n-1]=0;//si no es plaindromo entonces
aparece un 0
}
}

}
cout<<"los numeros palindromos son: "<<endl;//mensaje de salida
for(J=0;J<4;J++)//impimimos el vector de salida
{
cout<<mat2[J]<<endl;
}
system("pause");
return 0;
}//Fin del programa

Pantallazo

5) Realice un programa que permita llenar la MatrizA y MatrizB, luego en


una MatrizC obtener el resultado de la multiplicacin de la MatrizA y
MatrizB. Entindase como matriz un arreglo bidimensional. Tenga en
cuenta las normas que se deben considerar para hacer multiplicacin de
Matrices.
Solcuion
//se definen las librerias
#include "stdafx.h"
#include "iostream"
#include "stdlib.h"
#include "conio.h"
#include "math.h"
using namespace std;
void main()
//Inicio del programa
{
//Declaracin de la matriz A de 4 filas y 3 columnas, La matriz B de 3 filas y 2 columnas y la
matiz C de 4 filas y 2 columnas
//tambin se declara la variable i para recorrer las filas y j para recorrer las columnas y k.
int A[4][3], B[3][2], C[4][2], i,j,k;
//Inicio del ciclo for que permite el recorrido de las filas y el segundo ciclo for permite el
recorrido de las columnas
for(i=0;i<=3;i++){
for(j=0;j<=2;j++)
{
//Se solicitan los valores de la matriz
cout<<"ingrese un valor para A "<<i<<j<<endl;
//Se capturan los valores de la matriz
cin>>A[i][j];
//Final de los ciclos for
}
}
//El mismo procedimiento para la matriz B
for(j=0;j<=2;j++)
{
for(k=0;k<=1;k++)
{
//Se solicitan los valores de la matriz
cout<<"ingrese un valor para B"<<j<<k<<endl;
//Se capturan los valores de la matriz
cin>>B[j][k];
}
}

//Para la matriz C
for(i=0;i<=3;i++){
for(k=0;k<=1;k++){
C[i][k]=0;
}
}
//Se realizan los clculos para la multiplicacin de las matrices A y B
for(i=0;i<=3;i++)
{
for(k=0;k<=1;k++)
{
for(j=0;j<=2;j++)
{
//Los valores de las filas y las columnas est dado por la multiplicacin de las matrices
C[i][k]=C[i][k]+A[i][j]*B[j][k];
}
}
}
//El resultado se va ingresando en la matriz C
for(i=0;i<=3;i++)
{
for(k=0;k<=1;k++)
{
//Se dan los valores de la matriz C
cout<<"los valores de C son "<<C[i][k]<<endl;
}
}
//Pausa para ver los resultados
system("pause");
//Fin del programa
}

Patallazo

Вам также может понравиться