Está en la página 1de 18

GUI DE EJERCICIOS DESARROLLADOS 01

1. El rendimiento de un alumno se clasifica de acuerdo a lo siguiente:


BUENO:
si su promedio esta entre 16 y 20
REGULAR:
si su promedio esta entre 11 y 15
DEFICIENTE:
si su promedio esta entre 6 y 10
PESIMO:
si su promedio esta entre 0 y 5
Escribir un programa en c++ que permita ingresar 3 notas de un alumno e imprima
cual es su rendimiento.
Solucion :
#include <iostream.h>
#include <stdlib.h>
void main()
{ int n1, n2, n3,prom;
cout<<"ingrese primer numero ";cin>>n1 ;
cout<<"Ingrese segundo numero ";cin>>n2;
cout<<"Ingrese tercer numero ";cin>>n3;
prom=(n1+n2+n3);
if (prom<=5)
cout<<"Pesimo";
else if (prom<=10)
cout<<"Deficiente";
else if(prom<=15)
cout<<"Regular";
else if(prom<=20)
cout<<"Bueno";
}
2. Escribir un programa en C++ que permita ingresar una hora ( en horas, minutos y
segundos) e imprima la hora un segundo despus.
Solucion :
#include <iostream.h>
#include <stdlib.h>
void main()
{ int ns, hf, mf, sf, hh, mm, ss;
cout<<"Ingrese hora";cin>>hh ;
cout<<"Ingrese minutos";cin>>mm;
cout<<"Ingrese segundos";cin>>ss;
ns= hh*360+mm*60+ss+1;
hf=ns/3600;
ns=ns-hf*3600;
mf=ns/60;
ns=ns-mf*60;

sf=ns;
cout<<"La nueva hora es:";
cout<<hf<<":"<<mf<<":"<<sf;
}
3. Si se compra 100 unidades o mas de un articulo se obtiene un descuento del 40%, si se
compra desde 26 hata 99 el descuento es de 20%, si se compra desde 10 hasta 25 el
descuento es del 12%. Para cantidades menores no hay descuento.
Escribir un programa en C++ que permita ingresar el costo unitario del articulo y la
cantidad de unidades compradas e imprima el monto a pagar.
#include <iostream.h>
#include <stdlib.h>
void main()
{ int costounitario, cu, n;
cout<<"ingrese Costo Unitario";cin>>cu ;
cout<<"Ingrese Cantidad a comprar;cin>>n;
If (10<=n<=25
Monto=(1-0.12)*n;
Else if (26<=n<=99)
Monto=(1-0.20)*n;
Else If(n>=100)
Monto=(1-0.40)*n
cout<<"Monto a Pagar;monto;
}
4. Escribir un programa en C++ que permita ingresar un numero entero que representa
una determinada cantidad de dinero e imprima cuantos billetes de 100, 50, 20, 10, 5 y
1 soles se necesitan.
Solucion :
#include <iostream.h>
#include <stdlib.h>
void main()
{ int nb100, nb50, nb20,nb10, nb5, nb1, n;
cout<<"ingrese Cantidad ";cin>>n ;
nb100=n/100;
n=n-nb100*100;
nb50=n/50;
n=n-nb50*50;
nb20=n/20;
n=n-nb20*20;
nb10=n/10;
n=n-nb10*10;
nb5=n/5;
n=n-nb5*5;
nb1=n;

cout<<"===>"<<nb1;
}

5. Un banco establece que la clave secreta para acceso a sus cajeros automaticos debe ser
un numero de cuatro digitos, tales que ninguno de ellos se repita y que la suma de los
dos digitos intermedios sea par. Escribir un programa en C++ que permita ingresar un
valor entero y si se trata de una clave valida imprimir el segundo digito menor.
Solucion :
# include<iostream.h>
int IngresarClave();
void ValidarClave();
void MostrarSegundoMenor(int pc,int sc,int tc, int cc);
void main(){
ValidarClave();
}
int IngresarClave(){
int n;
cout<<"ingrese contrasea bancaria"<<endl;
cin>>n;
return n;
}
void ValidarClave(){
int pc,sc,tc,cc;
int n;
do{
n=IngresarClave() ;
pc=(n/1000);
sc=(n%1000)/100;
tc=((n%1000)%100)/10;
cc=(((n%1000)%100)%10)/1;
}while((n<1000) || (n>9999) || (pc==sc) || (pc==tc)||(pc==cc)
|| (sc==pc) || (sc==tc)||(sc==cc) ||
(tc==pc) || (tc==sc) || (tc==cc) || (sc+tc)%2!=0);
MostrarSegundoMenor(pc,sc,tc,cc) ;
}

void MostrarSegundoMenor(int pc,int sc,int tc, int cc){


int aux,x[4],i,j;
x[0]=pc;
x[1]=sc;
x[2]=tc;
x[3]=cc;
for( i=0;i<=3;i++){
for(j=0;j<=3;j++){
if(x[i]<x[j]){
aux=x[i];
x[i]=x[j];
x[j]=aux;
}}}
cout<<"El Segundo Menor="<<x[1]<<endl;
}
6. La temperatura de un horno puede variar desde 0 hasta 100 grados centigrados y se
clasifica de acuerdo a lo siguiente:
MUY ALTA:
si su valor esta entre 90oC y 100oC
ALTA:
si su valor esta entre 80oC y 89oC
NORMAL:
si su valor esta entre 40oC y 79oC
BAJA:
si su valor esta entre 0oC y 39oC
Solucion :
#include <iostream.h>
#include <stdlib.h>
void main()
{ int temp,prom;
cout<<"Ingrese Temperatura ";cin>>temp ;
if( (temp >=90) && (temp<=100))
cout<<"Muy Alta";
else if ( (temp >=80) && (temp<=89))
cout<<"Alta";
else if( (temp >=40) && (temp<=79))
cout<<"Normal";
else if( (temp >=0) && (temp<=39))
cout<<"Baja";
}
7. Escribir un programa en C++ que permita ingresar un numero de cuatro digitos y que
obtenga e imprima el numero que resulta de invertir sus cifras
#include <iostream.h>
#include <stdlib.h>
void main()

{ int num;
cout<<"ingrese un numero de 4 cifras";cin>>num;
pc=num/1000;
sc=(num%1000)/100;
num2=num-pc*1000-sc*100;
tc=num2/10;
cc=num2%10;
cout<<"Numero invertido";
cout<<cc*1000+tc*100+sc*10+pc;
}

8. Escribir un programa en c++ que me permita ingresar un mes ( numero ) y un ao e


imprima cuantos dias tiene .tener en cuenta el caso de ao bisiestos.
#include <iostream.h>

void main() {
int ano,mes;
cout<<"Ingrese ao:";cin>>ano;
cout<<"Ingrese mes:";cin>>mes;
if( mes==1 || mes==3 || mes==5 || mes==7 || mes==8 || mes==10 || mes==12 ){
cout<<"El Mes tiene 31 dias"<<endl;
}
if( mes==4 || mes==6|| mes==9 || mes==11 ){
cout<<"El Mes tiene 30 dias"<<endl;
}
if( mes==2 ){
if((ano%4==0) && (ano%100!=0) && (ano%400==0)){
cout<<"El Mes dos tiene 29 dias"<<endl;
}
else {
cout<<"El Mes dos tiene 28 dias"<<endl;
}

Ejercicios sobre Estructura Repetitiva


1. Escribir un programa en c++ que permita ingresar el largo y el ancho de N rectangulos
e imprima el area del rectangulo con el menor permetro.
Solucion :
#include <iostream.h>
void main() {
int n,menor;
double largo,ancho,perimetro,area;
double largoMenor,anchoMenor;
cout<<"ingrese cantidad de Datos de Triangulos ";cin>>n ;
cout<<"Ingrese el Largo ";cin>>largo;
cout<<"Ingrese el Ancho ";cin>>ancho;
perimetro=2*largo+2*ancho;
menor=perimetro;
for( int i=2;i<=n;i++){
cout<<"Ingrese el Largo ";cin>>largo;
cout<<"Ingrese el Ancho ";cin>>ancho;
perimetro=2*largo+2*ancho;
if(perimetro<menor){
largoMenor=largo;
anchoMenor=ancho;
menor=perimetro;
}
}
cout<<"El Perimetro Menor es =="<<menor;
cout<<"\nEl Area del Perimetro Menor ==";cin>>area;
}

2. Escribir un programa en c++ que me permita ingresar un numero entero positivo y


que imprima la suma de sus cifras.
Solucion :
#include<iostream.h>
void main(){
long n,r,acum=0;
cout<<"Ingrese Numero===";cin>>n;

x=0;
while(n>0)
{
r=n%10;
n=n/10;
x=x*10+r;
acum=acum+r;
}
cout<<"Numero Inverso ==== "<<acum;
}

3. Escribir un programa en C++ que me permita ingresar 2 enteros N y D que


representan los valores del denominador de un quebrado. Imprimir el quebrado
despus de haber sido simplificado;
Solucion :
#include <iostream.h>
void main() {
int mayor,menor;
int n,j,temp,sw,resto;
int a[40];
n=2;
for(j=1;j<=n;j++){
if(j==1)
cout<<"Ingrese Numerador"<<endl;
else
cout<<"Ingrese Denominador"<<endl;
cin>>a[j];
}
for(j=1;j<=n-1;j++){
if( a[j]<a[j+1])
{ temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
mayor= a[j+1];
menor=a[j] ;
do {
sw=0;
resto=a[j]%a[j+1];
if(resto==0)
{
sw=1;
}
else {

a[j]=a[j+1];
a [j+1]=resto;

} }while(sw!=1);

cout<<"El NUMERADOR : "<<(mayor/a[j+1])<<endl;


cout<<"El DENOMINADOR : "<<(menor/a[j+1])<<endl;
}
}
4. Escribir un programa en c que permita ingresar para los N alumnos de una
universidad : SEXO ( M o F ) , edad y carrera ( A,B,C ) . imprimir la carrera
con menor promedio de edad de sus alumnos que son varones.
Soluciones :
#include <iostream.h>
void main() {
int n,i;
long edad[100],sexo,carrera;
int prom1=0,prom2=0,prom3=0,menor;
char car;
cout<<"cuantos Alumnos Deseas ingresar?????"<<endl;
cin>>n;
for( i=0;i<=n;i++) {
cout<<"Ingrese Edad ";cin>>edad[i];
cout<<"Ingrese Sexo ";cin>>sexo;
cout<<"Ingrese Carrera ";cin>>carrera;
if( ( sexo=='M') || ( sexo=='m')) {
switch(carrera ){
case 'A' : {
prom1=prom1+edad[i];
break;}
case 'B' : {
prom2=prom2+edad[i];
break;}

case 'C' : {
prom3=prom3+edad[i];
break;}
}

else {
if( ( sexo=='F') || ( sexo=='f')) {
switch(carrera ){
case 'A' : {
prom1=prom1+edad[i];
break;}
case 'B' : {
prom2=prom2+edad[i];
break;}
case 'C' : {
prom3=prom3+edad[i];
break;}
}
}
}
}
if( (prom1<prom2) && (prom1>prom3) )
{
menor=prom1;
car='A';
}
else {
if( (prom2<prom1) && (prom2>prom3))
{
menor=prom2;
car='B';
}
else

{
menor=prom3;
car='C';
}
}
cout<<"Carrera "<<car<< "con Menor Promedio de Edades de Alumnos Varones
es =="<<menor<<endl;
}
5. Escribir un programa en c que permita ingresar un entero n y que imprima si se trata o
no de un numero capicua .
# include<iostream.h>
void main() {
long n,r;
int numero[100];
cout<<"Ingrese Numero\n";cin>>n;
int i=0;
while(n>0)
{
r=n%10;
n=n/10;
numero[i]=r;
i++;
}
int flag=-1;
int j=0;
cout<<i<<endl;
if((i%2==0) )
{
while(( numero[j]==numero[(i-1)-j] ) && (j<=(i-1))
if(j==(i-1)){
cout<<" es capicua"<<endl;
}

j++;

){

}
else
{
while(( numero[j]==numero[(i-1)-j] ) && (j<=(i-1))
if(j==(i-1)){

j++;

cout<<" es capicua"<<endl;
}
}
} }

6. Dada la siguente sumatoria

Solucion :
# include <iostream.h>
int factorial(int n);
void main(){
int a[100],i,n,s=0;
cout<<"ingrese cantidad de elementos"<<endl;
cin>>n;
for(i=0;i<=n;i++){
a[i+2]=a[i]+a[i+1];
}
s=0;
for(i=0;i<=n;i++){
s=s+a[i]/ factorial(i);
}
cout<<"La sumatoria de la serie es =="<<s<<endl;
}
int factorial(int n)
{
if( (n==0) || ( n==1) ) {
return 1;
}
else {
return n*factorial(n-1);
}
}

){

7. Escriba un programa en c que permita ingresar 2 enteros positivos e imprima sus


divisores comunes
Solucion :
#include <iostream.h>
#include <conio.h>
int main()
{
clrscr();
int num1, num2;
int mayor;
do
{
cout <<"Ingrese el primer numero entero y positivo: ";
cin >> num1;
} while (num1 <= 0);
do
{
cout <<"Ingrese el segundo numero entero y positivo: ";
cin >> num2;
} while (num2 <= 0);
if (num1 > num2)
{
mayor = num1;
}
else
{
mayor = num2;
};
cout <<"Los divisores comunes son: ";
for (int i = 1; i < mayor; i++)
{
if ((num1%i == 0)&&(num2%i ==0))
{
cout <<i<<" , ";
};
};

getch();
return 1;
}
8. Escriba un programa en c que permita ingresar un numero entero positivo e imprima
sus cifras al reves
Solucion :
# include<iostream.h>
# include<conio.h>
void main() {
long n,x,r;
int numero[100];
cout<<"Ingrese Numero\n";cin>>n;
int i=0;
while(n>0)
{
r=n%10;
n=n/10;
numero[i]=r;
i++;
}
for(int j=0;j<=i-1;j++){
cout<<numero[j];
}
}

9.

Escriba un programa en c que permita ingresar un numero entero positivo e imprima


su respectivo factorial.
Solucion :
# include <iostream.h>
int factorial(int n);
void main(){
int i;
cout<<"Ingrese el numero de factorial"<<endl;
cin>>i;
cout<<" El Factorial es =="<<factorial(i)<<endl;
}
int factorial(int n)
{

if( (n==0) || ( n==1) ) {


return 1;
}
else {
return n*factorial(n-1);
}
}
10. Escriba un programa en c que permita ingresar un numero entero positivo N e
imrprima los N primeros terminos de la serie finonacci 1,1 ,2,3,5,8,13,21 ..
Solucion :
#include <iostream.h>
#include <stdlib.h>
int fibonacci( int t )
{
if ( t == 1 || t == 2 )
return 1;
else
return fibonacci(t-1)+fibonacci(t-2);
}
void main()
{
int term, fib;
cout<<"Ingrese termino de la serie de Fibonacci: ";
cin>>term;
fib = fibonacci(term);
cout<<"El termino "<<term<<" es "<<fib<<endl;
}

12. Escribir un programa en c que permita ingresar 2 numeros enteros positivos A y B e


imprima el resultado que se obtiene al elevar A a la potencia B.
Solucion :
#include <iostream.h>
#include <math.h>

void main()
{
int n,potencia;
cout<<"Ingrese numero a elevar ";
cin>>n;
potencia=pow(n,2);
cout<<"La potencia es "<<potencia<<endl;
}

También podría gustarte