Está en la página 1de 13

INSTITUTO DE EDUCACIN SUPERIOR A DISTANCIA FAEDIS

PROGRAMA DE INGENIERIA INDUSTRIAL


PROGRAMACIN II


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

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

int main()

//Inicio del programa
{
//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

int i, num, arre_i[10], cont_i=0;

//Se inicia el ciclo for

for(i=1; i<=10; i++)
{

//se solicitan los datos

printf("\nIntroduce un numero %d: ", i);

//Se captura el nmero

scanf("%d", &num);

//Inicio del condicional if

if( num % 2 == 1)
{

//se organizan los arreglos y se ejecutan operaciones

arre_i[cont_i]=num;

cont_i++;
}
//Final del condicional if
}
//Final del ciclo for
//se asigna mensaje de salida con el resultado de las operaciones

printf("\n\n Los numeros impares son: ");

//Inicio del ciclo for para completar los 10 datos solicitados

for(i=0; i<cont_i; i++)printf(" %d ", arre_i[i]);

//se da la pausa para que el programa de resultados

system("pause");

//Fin del programa
}

IMPRESIONES DE PANTALLA:
1. Para el ejemplo se digitaran los nmeros del 1 al 10


2. El resultados sern los nmeros impares


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.

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

using namespace std;

int main ()
{
//Declaracin del Arreglo Voto que almacenar 12 valores de tipo entero, tambin estoy
declarando las variables total, ganador
//La variable opc de tipo entero en opc se guardar el valor capturado desde el teclado
//y una variable bouble

int Voto[12]={0},opc=0, total=0, ganador=0;
double Por[12];

//Inicio del ciclo while que me ayudar a terminar el ingreso de los votos con el -1
while (opc!=-1)
{

//Se limpia la pantalla y se solicita el nmero del candidato por el que se desea votar de 1 a
12
system("cls");
cout<<" SISTEMA DE VOTACION AUTOMATIZADO "<<endl;
cout<<" Elija el candidato por el que desea votar (1-12) (-1)para terminar"<<endl;
//Se captura la seleccin
cin>>opc;

//Se inicia la condicional if ya que solamente debe estar la opcin entre 1 y 12
if (opc>=1 && opc<=12)
{
//Si se cumple se contar el voto
Voto[opc-1]++;
}
//De lo contrario
else if (opc!= -1)
{
//el sistema mostrar una ventana con el anuncio que la opcin elegida no est registrada
cout<<"El candidato "<<opc<<" no esta registrado"<<endl;
system("pause");
//Termina la condicional if
}
//Termina el ciclo while
}
//Se inicia un nuevo ciclo for para el conteo de los votos
for (int i=1; i<= 11; i++)
{
//Se hacen las operaciones
total=Voto[i]+total;

//Se inicia una condicional if para el ganador
if (Voto[ganador]<Voto[i])
{
ganador= i;

//Se termina condicional if
}
//Se termina el ciclo for
}

//Se da el resultado de las elecciones
cout<<" RESULTADO DE LAS VOTACIONES"<<endl<<endl;

//comienza un ciclo for para el listado de los candidatos del al
for (int i=1;i<=11;i++)
{
//Se realizan las operaciones para obtener el porcentaje de cada candidato
Por[i]= (Voto[i] * 100)/total;

//Se anuncia el resultado de la votacin
cout<<"El candidato "<<i<<" Obtuvo "<<Voto[i]<<" votos Porcentaje "<<Por[i]<<" % "<<endl;

//Finaliza ciclo for
}

//Para obtener el ganador
ganador = ganador +1;

//Se anuncia el ganador
cout<<" El Ganador es el candidato numero "<<ganador<<endl;

// se da la pausa para que el programa de resultados
system("pause");
}

IMPRESIONES DE PANTALLA:
1. Se ingresan los valores que solicita el ejercicio


2. En caso que se digite un valor que no est entre los requeridos en esta caso ser 14,
se avisar que candidato no est registrado.



3. El resultado de la votacin que pide el ejercicio es




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

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

using namespace std;
int main()

//Inicio del programa
{
//Declaracin del Arreglo nota que almacenar 10 valores de tipo float, tambin estoy declarando
las variables promap, promrep que son los promedios
//La variable X de tipo entro en X se guardar el valor capturado desde el teclado
//dos variables de tipo entero con el nmero e alumnos aprobados y reprobados
int nota[10],promap, promrep, ap=0, rep=0, exc=0;

//Se solicita las notas finales de los estudiantes
cout<<"Escriba las notas finales de los estudiantes: "<<endl;

//Inicio del ciclo for, por el cual las notas van del 1 al 10
for(int X=1;X<=10;X++)

{

//Se capturan los datos
cin>>nota[X];

//Se inicia el condicional if para los aprobados
if(nota[X]>=6)

//Se hacen las operaciones para los aprobados
ap=ap+1;

//En caso de no cumplir sern los reprobados
else rep=rep+1;

//Se crea un condicional para los alumnos que su calificacin fue mayor a 8
if(nota[X]>8)

//Se realiza las operaciones para los de calificacin mayor
exc=exc+1;

//Terminacin del ciclo for
}

//Se dan los resultados con los alumnos aprobados y los reprobados
cout<<"Los alumnos aprobados son: "<<ap<<" Los alumnos reprobados son:
"<<rep<<endl;

{

//Se realizan las operaciones para obtener el porcentaje de los estudiantes aprobados
promap=ap*10;

//Se muestra el resultado
cout<<"el porcentaje de estudiantes aprobados es: "<<promap<<"%"<<endl;

//Se realizan las operaciones para obtener el porcentaje de los estudiantes reprobados
promrep=rep*10;

//Se muestra el resultado
cout<<"el porcentaje de estudiantes reprobados es: "<<promrep<<"%"<<endl;
}

//Por ltimo se dan los estudiante que obtuvieron una nota superior a 8
cout<<"los alumnos destacados son: "<<exc<<endl;

//Pausa para ver los resultados
system("pause");

//Fin del programa
}

IMPRESIONES DE PANTALLA:
1. Para ver si funciona el programa se digitar las notas finales del 1 al 10


2. Se obtendr el 50% de alumnos aprobados como los no aprobados y los que
obtuvieron una nota superior a 8 sern los destacados.




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.


//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
{

int num,cnum1,cnum2,i=0,j=1,k,cifraa,cifrab;
bool sw=true;

//Se lee el nmero
cout<<"Digite un numero entero: "<<endl;
cin>>num;

//Se saca el valor absoluto del nmero ya que el signo es despreciable
cnum1=abs(num);

//Se saca el nmero de cifras del nmero
while(cnum1>0)
{
i++;
cnum1=cnum1/10;
}

//Volvemos a asignar la copia al nmero original ya que se ha modificado debido al clculo de
las cifras
cnum1=num;

//Comparamos hasta la mitad del nmero y mientras que las cifras a comparar sean iguales
while(j<=i/2 && sw==true)
{
cnum2=num;

//Se saca la cifra mas a la derecha
cifraa=cnum1%10;

//Un contador k para sacar la cifra ms a la izquierda
k=0;

//La frmula i-j nos dice hasta donde se debe seguir reduciendo el nmero para sacar la cifra
ms a la izquierda
while(k<=i-j)
{
cifrab=cnum2%10;
cnum2=cnum2/10;
k++;
}
//Ya teniendo las cifras, se comparan. Si son diferentes se cambia el switch a falso
if(cifraa!=cifrab)
{
sw=false;
}
cnum1=cnum1/10;
j++;
}
//Si el switch es verdadero es porque el nmero es palndromo Si es falso es porque no es
palndromo
if (sw==true)
{
cout<<"El numero "<<num<<" es palindromo."<<endl;
}
else
{
cout<<"El numero "<<num<<" no es palindromo."<<endl;
}


//Pausa para ver los resultados
system("pause");

//Fin del programa
}

IMPRESIONES DE PANTALLA:
3. Se digita un nmero, para el ejemplo se utilizar el 12321, y el sistema reconocer que
es un palndromo



4. En otro ejemplo se digita 123 y no lo reconocer como tal.


Realice un programa que permita llenar la Matriz A y Matriz B, luego en una Matriz C obtener
el resultado de la multiplicacin de la Matriz A y Matriz B. Entindase como matriz un arreglo
bidimensional. Tenga en cuenta las normas que se deben considerar para hacer
multiplicacin de Matrices.

//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
}
IMPRESIONES DE PANTALLA:
1. Se ingresan los valores para la matriz A y la matriz B

2. Se efecta la multiplicacin y son los valores de la matriz C