Sei sulla pagina 1di 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)){ cout<<" es capicua"<<endl; } } } } ){

j++;

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; }

Potrebbero piacerti anche