segunda actividad programacion.docx

16
INSTITUTO DE EDUCACIÓN SUPERIOR A DISTANCIA FAEDIS PROGRAMA DE INGENIERIA INDUSTRIAL PROGRAMACIÓN 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 números impares encontrados en el primer arreglo. DATO: VEC [1…N] 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 { //Declaración del Arreglo arre_i que almacenará 10 valores de tipo entero, también 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 número

Upload: camcamo

Post on 26-Dec-2015

138 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Segunda Actividad Programacion.docx

INSTITUTO DE EDUCACIÓN SUPERIOR A DISTANCIA FAEDIS PROGRAMA DE INGENIERIA INDUSTRIAL

PROGRAMACIÓN 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 números impares encontrados en el primer arreglo.

DATO: VEC [1…N] 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 {//Declaración del Arreglo arre_i que almacenará 10 valores de tipo entero, también 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 número

scanf("%d", &num);

//Inicio del condicional if

if( num % 2 == 1){

//se organizan los arreglos y se ejecutan operaciones

Page 2: Segunda Actividad Programacion.docx

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 números del 1 al 10

2. El resultados serán los números impares

Page 3: Segunda Actividad Programacion.docx

Supongamos que en una elección 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 continuación:

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 información:

a. El número de votos de cada candidato al final de la elección.b. El candidato ganador, el número de votos que obtuvo y el porcentaje correspondiente

del total de la elección. Suponemos que el candidato ganador no empató en número 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 (){//Declaración del Arreglo Voto que almacenará 12 valores de tipo entero, también 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];

Page 4: Segunda Actividad Programacion.docx

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

//Se limpia la pantalla y se solicita el número 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 selección

cin>>opc;

//Se inicia la condicional if ya que solamente debe estar la opción entre 1 y 12if (opc>=1 && opc<=12){

//Si se cumple se contará el votoVoto[opc-1]++;

}//De lo contrario

else if (opc!= -1){

//el sistema mostrará una ventana con el anuncio que la opción 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 operacionestotal=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 eleccionescout<<" 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 candidatoPor[i]= (Voto[i] * 100)/total;

//Se anuncia el resultado de la votacióncout<<"El candidato "<<i<<" Obtuvo "<<Voto[i]<<" votos Porcentaje "<<Por[i]<<" %

"<<endl;

Page 5: Segunda Actividad Programacion.docx

//Finaliza ciclo for}

//Para obtener el ganadorganador = ganador +1;

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

// se da la pausa para que el programa de resultadossystem("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.

Page 6: Segunda Actividad Programacion.docx

3. El resultado de la votación 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 grupob. Número de alumnos aprobados y número de alumnos reprobados (Si el alumno sacó

una calificación menor a 6 se le considera reprobado).c. Porcentaje de alumnos aprobados y reprobadosd. Número de alumnos cuya calificación fue mayor a 8

Page 7: Segunda Actividad Programacion.docx

//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{//Declaración del Arreglo nota que almacenará 10 valores de tipo float, también 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 número e alumnos aprobados y reprobados

int nota[10],promap, promrep, ap=0, rep=0, exc=0;

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

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

{

//Se capturan los datoscin>>nota[X];

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

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

//En caso de no cumplir serán los reprobadoselse rep=rep+1;

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

//Se realiza las operaciones para los de calificación mayorexc=exc+1;

//Terminación del ciclo for}

//Se dan los resultados con los alumnos aprobados y los reprobadoscout<<"Los alumnos aprobados son: "<<ap<<" Los alumnos reprobados son:

"<<rep<<endl;

{

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

//Se muestra el resultado

Page 8: Segunda Actividad Programacion.docx

cout<<"el porcentaje de estudiantes aprobados es: "<<promap<<"%"<<endl;

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

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

}

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

//Pausa para ver los resultadossystem("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 serán los destacados.

Page 9: Segunda Actividad Programacion.docx

Se tienen un arreglo bidimensional con valores escritos al azar. Haga un programa que identifique los valores palíndromos 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 númerocout<<"Digite un numero entero: "<<endl;cin>>num;

//Se saca el valor absoluto del número ya que el signo es despreciablecnum1=abs(num);

//Se saca el número de cifras del número while(cnum1>0)

{ i++;

Page 10: Segunda Actividad Programacion.docx

cnum1=cnum1/10; }

//Volvemos a asignar la copia al número original ya que se ha modificado debido al cálculo de las cifras

cnum1=num;

//Comparamos hasta la mitad del número 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 más a la izquierda k=0;

//La fórmula i-j nos dice hasta donde se debe seguir reduciendo el número para sacar la cifra más 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 número es palíndromo Si es falso es porque no es palíndromo if (sw==true)

{ cout<<"El numero "<<num<<" es palindromo."<<endl; } else

{ cout<<"El numero "<<num<<" no es palindromo."<<endl; }

//Pausa para ver los resultadossystem("pause");

//Fin del programa}

IMPRESIONES DE PANTALLA:

3. Se digita un número, para el ejemplo se utilizará el 12321, y el sistema reconocerá que es un palíndromo

Page 11: Segunda Actividad Programacion.docx

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 multiplicación de la Matriz A y Matriz B. Entiéndase como matriz un arreglo bidimensional. Tenga en cuenta las normas que se deben considerar para hacer multiplicación de Matrices.

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

Page 12: Segunda Actividad Programacion.docx

#include "conio.h"#include "math.h"

using namespace std;void main()//Inicio del programa{

//Declaración 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//también 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 matrizcout<<"ingrese un valor para A "<<i<<j<<endl;

//Se capturan los valores de la matrizcin>>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 matrizcout<<"ingrese un valor para B"<<j<<k<<endl;

//Se capturan los valores de la matrizcin>>B[j][k];

}}

//Para la matriz Cfor(i=0;i<=3;i++){

for(k=0;k<=1;k++){C[i][k]=0;

}}

//Se realizan los cálculos para la multiplicación de las matrices A y Bfor(i=0;i<=3;i++){

for(k=0;k<=1;k++){

Page 13: Segunda Actividad Programacion.docx

for(j=0;j<=2;j++){

//Los valores de las filas y las columnas está dado por la multiplicación de las matrices

C[i][k]=C[i][k]+A[i][j]*B[j][k];}

}}

//El resultado se va ingresando en la matriz Cfor(i=0;i<=3;i++){

for(k=0;k<=1;k++){

//Se dan los valores de la matriz Ccout<<"los valores de C son "<<C[i][k]<<endl;

}}

//Pausa para ver los resultadossystem("pause");

//Fin del programa}IMPRESIONES DE PANTALLA:

1. Se ingresan los valores para la matriz A y la matriz B

2. Se efectúa la multiplicación y son los valores de la matriz C

Page 14: Segunda Actividad Programacion.docx