Está en la página 1de 39

PROBLEMAS EN DEV C++

SECUENCIALES

ENTRADAS y SALIDAS
1) SUMA DE DOS NUMEROS

Uso de Variables y comandos de entrada y salida

#include <iostream.h>
using namespace std ;
int main(){
int a,b,c;
a=3;
b=4;
c=a+b;
cout<<"la suma de las dos variables es:";
cout<<c;
cout<<endl<<endl;
system("pause");
}

2) SUMA DE DOS NUMEROS


#include <iostream>

using namespace std;

int main()
{
int n1=0, n2=0, suma=0;

cout<<"ingrese primer numero:";


cin>>n1;

cout<<"ingrese el siguiente numero:";


cin>>n2;

suma = n1+n2;

cout<<"este es la suma de los dos numeros: "<<suma<<"\n";

system("PAUSE");
return 0;
}

3) UNA ECUACION CUADRATICA


#include <iostream>
#include <math.h>
using namespace std;

int main()
{
float a,b,c,D,X;
cout<<"bienvenidos, este es un programa para resolver escuaciones de
segundo grado"<<endl;
cout<<"por favor ingrese el termino cuadratico: ";
cin>>a;
cout<<"ahora ingrese el termino lineal: ";
cin>>b;
cout<<"por ultimo ingrese el termino independiente: ";
cin>>c;
cout<<"el valor de la discriminante es: "<<(b*b)-(4*a*c)<<endl;
if(D=(b*b)-(4*a*c))
if((b*b)-(4*a*c)>0){
cout<<"X tiene dos valores, los cuales son: "<<((-b)+
(sqrt(D)))/(2*a)<<" y "<<((-b)-(sqrt(D)))/(2*a)<<endl;
}
if(D==0){
cout<<"X tiene un unico valor que es: "<<(-b)/(2*a)<<endl;
}
else if((b*b)-(4*a*c)<0){
cout<<"lo siento X no tiene valores reales "<<endl;
}
system("PAUSE");
return EXIT_SUCCESS;
}

4) LEY DEL COSENO


#include <iostream>
#include <math.h>
#include <stdio.h>

using namespace std;

int main()
{
int a,b,alpha;
float c;
cout<<"Bienvenido, este es un programa que halla el valor de un lado
del triangulo, solo teniendo los valores de los otros 2 catetos y ángulo
que lo forman"<<endl;
cout<<"por favor ingrese uno de los lados: ";
cin>>a;
cout<<"ahora ingrese el otro de los lados: ";
cin>>b;
cout<<"por ultimo ingrese el ángulo que forman los lados dados: ";
cin>>alpha;
cout<<"el valor del otro lado es:
"<<sqrt(pow(a,2)+pow(b,2)+2*a*b*cos((alpha*3.1415)/180))<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

5) CONVERTIR RADIANES A SEXAGESIMALES


#include <iostream>

using namespace std;

int main(int argc, char *argv[])


{
float s,r;
cout<<"este programa convierte radianes a grado sexagecimales"<<endl;
cout<<"ingrese el angulo que quiere convertir a sexagecimal: ";
cin>>r;
cout<<"la respuesta es: "<<(r*180)/(3.1415)<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}

PAUCAR YAURI

6) EL AREA DE UN EXAGONO
#include <iostream>
#include <math.h>
using namespace std;

int main ()
{
int a,r;

cout<<" este es un programa para hallar el area de un hexagono


"<<endl;
cout<<"por favor digite el radio del hexagono ";
cin>>r;
cout<<"el area del del hexagono es: "<<(3*sqrt(3)*pow(r,2))/2<<endl;

system("pause");
return 0;
}

7) LEER UN NUMERO DE TRES DIGITOS Y SUMARLOS


/* Uso de comandos if y while

#include <stdio.h>
#include <conio.h>
int main ()
{
int numero, sum_dig=0;
printf("Inserte un numero de 3 digitos: "); scanf("%d",&numero);
if (numero>=100)
{
int num=numero; //salvamos en num, la variable numero
while (numero!=0)
{
sum_dig=sum_dig+(numero%10); //para sacar el ultimo digito de numero
numero=numero/10; //elimina el ultimo digito de numero
}
printf("La suma de los digitos de %d es : %d",num, sum_dig);
}
else
printf("\a ERROR: El digito no tiene 3 digitos");
getch();
}

8) CALCULO DEL AREA, CIRCUNFERENCIA DE UN CIRCULO.

Uso Comandos De Entrada y Salida

ahora realizamos el segundo ejercicio para obtener más práctica


#include <iostream>
#include <iomanip>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
#define pi 3.1415169
using namespace std;
int main(){

float r,D,perimetro,area;
cout<<"introduce el radio de la circunferencia:"<<endl;
cin>>r;
perimetro=2*pi*r;
cout<<"el perimetro de la circunferencia es:"<<endl<<perimetro<<endl;
cout<<"introduce el diametro de la circunferencia:"<<endl;
cin>>D;
area=(pi*D*D)/4;
cout<<"el area de la circunferencia es:"<<endl<<area<<endl;
system("pause");
return 0;
}

9)
Suponga que un individuo desea invertir su capital en un banco y desea saber cuánto dinero
ganara después de un mes si el banco paga a razón de 2% mensual.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])


{
int n;
float d,i,t;
t=0;
d=0;
i=0.02;
cout<<"capital a invertir"<<endl;
cin>>n;
d=(n*i);
t=(d+n);
cout<<"el interes es :"<<d<<endl;
cout<<"el valor total es :"<<t<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}

10)
Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas, el vendedor
desea saber cuánto dinero obtendrá por concepto de comisiones por las tres ventas que realiza en
el mes y el total que recibirá en el mes tomando en cuenta su sueldo base y comisiones.

#include<conio.h>
#include<stdio.h>
main()
{
float v1, v2, v3, SB, ST=0;
//instrucciones
printf("PROGRAMA QUE HALLA EL CONCEPTO DE COMISIONES");
printf("Ingrese el sueldo basico"); //escribir
scanf("%f",& SB); //leer
printf("Ingrese la primera venta"); //escribir
scanf("%f",& v1); //leer
printf("Ingrese la segunda venta"); //escribir
scanf("%f",& v2); //leer
printf("Ingrese la tercera venta"); //escribir
scanf("%f",& v3); //leer
ST=((v1+v2+v3)*(0.10)+SB);
printf("sueldo total es %f",ST);
getch();
}
11)
Una tienda ofrece un descuento del 15% sobre el total de la compra y un cliente desea saber
cuanto deberá pagar finalmente por su compra.

#include<conio.h>
#include<stdio.h>
main()
{
float PV ,d, PT=0;
//instrucciones
printf("PROGRAMA QUE HALLA EL EL DESCUENTO DE UNA VENTA");
printf("Ingrese EL PRECIO DE LA VENTA"); //escribir
scanf("%f",& PV); //leer
d=(PV*(0.15));
printf("el descuento de la venta es: %f",d);
PT=(PV-d);
printf("el precio total de la venta es: %f",PT);
getch();
}

12)
Un alumno desea saber cuál será su calificación final en la materia de Algoritmos. Dicha
calificación se compone de los siguientes porcentajes: 55% del promedio de sus tres calificaciones
parciales. 30% de la calificación del examen final. 15% de la calificación de un trabajo final.
#include <stdio.h>
#include <conio.h>

main()
{
float a=0.55, b=0.3, c=0.15, P=0;

printf("programa que permita sacar el promedio de tres notas\n");


getch();
printf("Ingrese la primer nota:\n");
scanf("%f", &a);
printf("Ingrese la segunda nota:\n");
scanf("%f", &b);
printf("Ingrese la tercer nota:\n");
scanf("%f", &c);
P = ((a*.55)+(b*.3)+(c*.15));
printf("el promedio es: %f",P);
getch();
}
Problemas Condicionales
13)

Problemas Selectivos Simples


Un hombre desea saber cuanto dinero se genera por concepto de intereses sobre la cantidad que
tiene en inversión en el banco. El decidirá reinvertir los intereses siempre y cuando estos excedan a
$7000, y en ese caso desea saber cuanto dinero tendrá finalmente en su cuenta.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])


{
int plata;
float inte,total;
inte=0;
total=0;

cout<<"cantidad de dinero a invertir"<<endl;


cin>>plata;
inte=plata*0.05;
total=plata;
if (inte>=7000){
total=(plata+inte);
}
cout<<"los interes son de: "<<inte<<endl;
cout<<"la cantidad total de dinero es:"<<total<<endl;
system("PAUSE");
return EXIT_SUCCESS;
}

14)
En un almacén se hace un 20% de descuento a los clientes cuya compra supere los
$1000 ¿ Cual será la cantidad que pagara una persona por su compra?

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])


{
float compra,total;

cout<<"digite el precio de la compra"<<endl;


cin>>compra;
total=compra;
if(compra>=1000){
total=(compra-(compra*0.20));
}
cout<<"el total a pagar es: "<<total<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}

Problemas Selectivos Compuestos (IF - ELSE)

15)
Leer 2 números; si son iguales que los multiplique, si el primero es mayor que el
segundo que los reste y si no que los sume.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])


{
int a,b,total;
cout<<"introduzca el primer valor";
cin>>a;
cout<<"introduzca el segundo valor";
cin>>b;
if (a==b){
total=a*b;
}
if(a>b){
total=a-b;
}
if (a<b){
total=a+b;
}
cout<<"es resultado es: "<<total<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}

14) En un juego de preguntas a las que se responde “Si” o “No” gana quien responda
correctamente las tres preguntas. Si se responde mal a cualquiera de ellas ya no
se pregunta la siguiente y termina el juego. Las preguntas son:

1. Colon descubrió América?


2. La independencia de México fue en el año 1810?
3. The Doors fue un grupo de rock Americano?
#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])


{
char re, n;

cout<<"1.Colon descubrió América? "<<endl;


cin>>re;

if(re!='n'){
cout<<"2.La independencia de México fue en el año 1810?"<<endl;
cin>>re;
if (re!='n'){

if(re!='n'){ cout<<"3.The Doors fue un grupo de rock


Americano?"<<endl;
cin>>re;
cout<<"felicitaciones gano"<<endl;
}
}
}

system("PAUSE");
return EXIT_SUCCESS;
}

15) Tomando como base los resultados obtenidos en un laboratorio de análisis


clínicos, un medico determina si una persona tiene anemia o no, lo cual depende
de su nivel de hemoglobina en la sangre, de su edad y de su sexo. Si el nivel de
hemoglobina que tiene una persona es menor que el rango que le corresponde,
se determina su resultado como positivo y en caso contrario como negativo. La
tabla en la que el médico se basa para obtener el resultado es la siguiente

NIVEL
EDAD
HEMOGLOBINA
0 - 1 mes 13 - 26 g%
>1y<=6
10 - 18 g%
meses
> 6 y < = 12
11 - 15 g%
meses
> 1 y < = 5 años 11.5 - 15 g%
> 5 y < = 10 12.6 - 15.5 g
años %
> 10 y < = 15
13 - 15.5 g%
años
mujeres > 15 12 - 16 g%
años
hombres > 15
14 - 18 g%
años

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])


{
int edad;
char sexo,respuesta;
float hemoglobina;

cout<<"el paciente es menor a un año de edad?"<<endl;


cin>>respuesta;
if(respuesta=='s'){
cout<<"edad del paciente en meses "<<endl;
cin>>edad;
cout<<"nivel de hemoglobina del paciente"<<endl;
cin>>hemoglobina;
if(edad <=1){
if(hemoglobina<13){
cout<<"el paciente tiene anemia"<<endl;
}else{
cout<<"el paciente no tiene anemia"<<endl;
}
}
if(edad <=6){
if(hemoglobina<10){
cout<<"el paciente tiene anemia"<<endl;
}else{
cout<<"el paciente no tiene anemia"<<endl;
}
}
if(edad <=12){
if(hemoglobina<11){
cout<<"el paciente tiene anemia"<<endl;
}else{
cout<<"el paciente no tiene anemia"<<endl;
}
}
}
cout<<"el paciente es mayor a un año de edad y menor a 15 años de
edad?"<<endl;
cin>>respuesta;
if(respuesta=='s'){
cout<<"edad del paciente en meses "<<endl;
cin>>edad;
cout<<"nivel de hemoglobina del paciente"<<endl;
cin>>hemoglobina;
if(edad <=5){
if(hemoglobina<11){
cout<<"el paciente tiene anemia"<<endl;
}else{
cout<<"el paciente no tiene anemia"<<endl;
}
}
if(edad <=10){
if(hemoglobina<12.6){
cout<<"el paciente tiene anemia"<<endl;
}else{
cout<<"el paciente no tiene anemia"<<endl;
}
}
if(edad <=15){
if(hemoglobina<13){
cout<<"el paciente tiene anemia"<<endl;
}else{
cout<<"el paciente no tiene anemia"<<endl;
}
}
}
cout<<"el paciente es mayor a 15 años de edad?"<<endl;
cin>>respuesta;
if(respuesta=='s'){
cout<<"edad del paciente en meses "<<endl;
cin>>edad;
cout<<"nivel de hemoglobina del paciente"<<endl;
cin>>hemoglobina;
cout<<"sexo del paciente"<<endl;
cin>>sexo;
if (sexo=='m'){
if(hemoglobina<12){
cout<<"el paciente tiene anemia"<<endl;
}else{
cout<<"el paciente no tiene anemia"<<endl;
}
}
if (sexo=='m'){
if(hemoglobina<14){
cout<<"el paciente tiene anemia"<<endl;
}else{
cout<<"el paciente no tiene anemia"<<endl;
}
}
}

system("PAUSE");
return EXIT_SUCCESS;
}
16)

Calcular el promedio de un alumno que tiene 7 calificaciones en la materia de Diseño


Estructurado de Algoritmos.

#include <stdio.h>
#include <conio.h>

main()
{
float a=0.3, b=0.3, c=0.4, d=0, e=0, f=0, g=0, p=0;

printf("programa que permita sacar el promedio de siete notas\n");


getch();
printf("Ingrese la primer nota:\n");
scanf("%f", &a);
printf("Ingrese la segunda nota:\n");
scanf("%f", &b);
printf("Ingrese la tercer nota:\n");
scanf("%f", &c);
printf("Ingrese la cuarta nota:\n");
scanf("%f", &d);
printf("Ingrese la quinta nota:\n");
scanf("%f", &e);
printf("Ingrese la sexta nota:\n");
scanf("%f", &f);
printf("Ingrese la septima nota:\n");
scanf("%f", &g);
p = ((a+b+c+d+e+f+g)/7);
printf("el promedio es: %f",p);
getch();
}

17)
Determinar cuantos hombres y cuantas mujeres se encuentran en un grupo de n
personas, suponiendo que los datos son extraídos alumno por alumno.

#include <cstdlib>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])


{
int estudiantes,cont,hom,muj,sexo;
cont=1;
hom=0;
muj=0;
cout<<"digite el numero de estudiantes que hay en el salon"<<endl;
cin>>estudiantes;
while (cont<=estudiantes){
cout<<"si es hombre marque el numero 1"<<endl;
cout<<"si es mujer marque el numero 2 "<<endl;
cin>>sexo;
if (sexo==1){
hom=(hom+1);
}else{muj=(muj+1);
}
cont++;
}
cout<<"el numero de hombres que hay en el salon es: "<<hom<<endl;
cout<<"el numero de mujeres que hay en el salon es: "<<muj<<endl;

system("PAUSE");
return EXIT_SUCCESS;
}

IF - ELSE

1) DADO SEIS NUMEROS ENCONTRAR EL MENOR DE ELLOS

#include<stdio.h>
#include<conio.h>
int main()
{
int a, b, c, d, e, f;
printf("Inserte num.1: "); scanf("%d",&a);
printf("Inserte num.2: "); scanf("%d",&b);
printf("Inserte num.3: "); scanf("%d",&c);
printf("Inserte num.4: "); scanf("%d",&d);
printf("Inserte num.5: "); scanf("%d",&e);
printf("Inserte num.6: "); scanf("%d",&f);
int menor=a;
if(b<menor) menor=b;
if(c<menor) menor=c;
if(d<menor) menor=d;
if(e<menor) menor=e;
if(f<menor) menor=f;
printf("El menor de %d,%d,%d,%d,%d,%d ",a,b,c,d,e,f);
printf("\nEs %d",menor);
getch();

2) Ingresar 3 números enteros positivos y que determine cuál de ellos es el mayor,


cual es el menor y cuál es el número medio.
‍#include<iostream.h>
#include<conio.h>
int main ()
{
float numero, a, b, c;
cout<<"ingresar primer numero : ";
cin>>a;
cout<<"ingresar segundo numero : ";
cin>>b;
cout<<"ingresar tercer numero : ";
cin>>c;
if (a>=9)
cout<<"numero mayor "<<a<<endl;
else if (a>=6)
cout<<"numero medio "<<a<<endl;
else if (a>=3)
cout<<"numero menor "<<a<<endl;
if (b>=9)
cout<<"numero mayor "<<b<<endl;
else if (b>=6)
cout<<"numero medio "<<b<<endl;
else if (b>=3)
cout<<"numero menor "<<b<<endl;
if (c>=9)
cout<<"numero mayor "<<c<<endl;
else if (c>=6)
cout<<"numero medio "<<c<<endl;
else if (c>=3)
cout<<"numero menor "<<c<<endl;
getch ();
return 0;
}

PROBLEMAS CODIFICADOS ENCONTRAR LOS ENUNCIADOS

1)

#include<iostream>
using namespace std;
int main()
{
int key=123,clave;
cout <<"ingrese su clave ";
cin>>clave;
if(clave==key)
cout <<"acceso permitido\n ";
else
cout<< "acceso denegado\n ";
system("pause");
return 0;
}

2)
#include <iostream>

using namespace std;


int main()
{
// Programa de ejemplo

/*
Este programa lo que va a hacer es lo siguiente:

- Va a pedirnos dos números por pantalla.


- Si el primero es mayor que el segundo los va a restar.
- Sino los va a multiplicar.
- Y después nos va a mostrar la media de los dos números.
*/

int numero1;
int numero2;
// nos pide los dos numeros
cout<<"introduzca el primer número";
cin >> numero1;
cout<<"introduzca el segundo numero";
cin >>numero2;
//si el primero es mayor que el segundo hace la resta.
if(numero1 > numero2 ){
cout<<" El primer numero es mayor que el segundo"<<endl;
cout<<" Su diferencia es: "<<
(numero1 - numero2) <<endl;
}
// si el segundo es mayor o igual que el primero los suma
else{
cout<<"El segundo número es mayor o igual que el primero"<<endl;
cout<<"Su suma es:"<<numero1 +
numero2 <<endl;
}
// hace la media de los dos número.
cout<<"Su media es:"<<(float) (numero1 + numero2) / (float) 2
<<endl;
system("PAUSE");
return 0;
}

3)
#include<iostream>
using namespace std;
int main()
{
int seleccion;
//presentar menu

cout<<"------Menu----------\n";
cout<<"1=Fisica "<<endl;
cout<<"2=quimica "<<endl;
cout<<"3=Quit "<<endl;

cout<<"ingrese seleccion ";


cin>>seleccion;
system("cls");

if(seleccion==1)
cout<<"notas de Fisica "<<endl;
else if(seleccion==2)
cout<<"notas de quimica "<<endl;
else if(seleccion==3)
cout<<"Salir "<<endl;

system("pause");
return 0;
}

4)
# include <iostream>

using namespace std;

int main()
{
float not1,not2,not3,pnot;

cout<<"N O T A S\n";
cout<<"INGRESE LAS 3 NOTAS (0-20) " ;
cin>>not1>>not2>>not3;
pnot=(not1+not2+not3)/3;
if (pnot>=11) cout<<"APROBADO\n ";
else cout <<"desaprobado\n ";
cout <<"NOTA : "<<pnot<<endl;

system("pause ");
return 0;
}

5)
/* Uso de los op. lógicos AND,OR,NOT. */

#include <stdio.h>
#include<iostream>

main() /* Compara un número introducido */


{
int numero;
printf("Introduce un número: ");
scanf("%d",&numero);
if(!(numero>=0))
printf("El número es negativo");
else if((numero<=100)&&(numero>=25))
printf("El número está entre 25 y 100");
else if((numero<25)||(numero>100))
printf("El número no está entre 25 y 100");
system("pause");
}

FOR
1) Imprimir los primeros 3 números PERFECTOS.

# include <iostream.h>
# include <conio.h>
# include <string.h>
int main()
{
int n=0, sum=0 ,cont=0, i;
do
{
n ++ ;
for (i=1 ; i<n ; i++)
{
if ((n % i) == 0)
{
sum = sum + i ;

}
}

if ( sum == n)
{
cout<< "El numero "<<n<< " es perfecto "<<endl ;
cont = cont + 1;
}
sum=0;
}
while (cont < 3);
getche();
return 0;
}
2)
Se ingresan números enteros de a 1 y se pide imprimir el promedio de los
números negativos, el mayor de los múltiplos de 3 y cuantas veces el número
ingresado fue mayor que el anterior. Termina cuando el promedio de los
negativos es mayor o igual a -31.

http://www.nocturnar.com/forum/programacion/302528-ejercicios-resueltos-c.html

#include <stdio.h>
# include <iostream.h>
# include <conio.h>

int main()
{
int n, mayormult, mayorant;
int se2=0, se3=0, con=0, neg=0, contmayor=0;
float promneg;
do
{
cin >> n;

if ( n<0 )
{
neg= neg + n;
con= con + 1;
promneg = neg / con ;
}

if ((n%3 == 0) && (n!=0) )


{
if ((n> mayormult) || (se2==0) )
{
mayormult = n;
se2== 1;
}
}

if ((n>mayorant) && (se3== 1))


{
contmayor = contmayor + 1 ;
}
mayorant = n;
se3==1 ;
}
while (promneg >= -31) ;
cout << "\n el mayor de los multiplos " << mayormult;
cout<< "\n cant de veces q un num fue mayor q el anterior " <<contmayor ;

getche();

return 0;
}

FOR

1) Generar la serie: 1, 5, 3, 7, 5, 9, 7,..., 23


#include <stdio.h>
#include <conio.h>

int main ()
{
int serie=1;
bool sw=true;
do
{
printf("%d, ",serie);
if (sw) serie+=4;
else serie-=2;
sw=!sw;
} while (serie<=23);
getch();
}

2) CALCULA LA POTENCIA DE UN NUMERO

#include<stdio.h>
#include<math.h> se invoca esta libreria porque contiene funciones matematicas
#include<conio.h>
int n,ex;
int p,i;
main()
{

printf("Introduza la base:");
scanf("%d",&n);
printf("introduzca el exponente:");
scanf("%d",&ex);
for(i=1;i<=ex;i++)
{
p=pow(n,i); con la funcion pow se calcula la potencia se encuentra en la libreria math.h
printf("%3d ^ %3d = %3d\n",n,i,p);
getch();
}

3 )Calcule el factorial de un número


#include <stdio.h>
#include <conio.h>
int facto (int x)
{
int f=1;
for (int i=1;i<=x;i++)
{f=f*i;}
return (f);
}

int main ()
{
int n, serie=2, suma=0;
printf ("Inserte cantidad de terminos a generar: "); scanf ("%d",&n);
for (int i=1;i<=n;i++)
{
printf ("%d! + ",serie);
suma=suma+(facto(serie));
serie=serie+2;
}
printf (" = %d",suma);
getch();
}

4) ENCONTRAR EL MAYOR DE LOS NUMEROS LEIDOS


CONSECUTIVAMENTE.

Uso de comando IF y FOR

#include<iostream>
using namespace std;

int main()
{
int n_num=0,num=0,elmayor=0,c=0;
cout <<"Introduce el numero de numeros: "; cin >> n_num;
for(c=1;c<=n_num;c++)
{
cout <<"\nIntroduce el numero " << c <<": "; cin >> num;
if(num>elmayor)
{
elmayor=num;
}
}
cout <<"\n\tEl numero mayor fue el " << elmayor;
cin.get();cin.get();

return 0;
}
5)

SWITCH
1)

CREAR UN PROGRAMA QUE INICIALMENTE MUESTRE UN MENU PRINCIPAL CON 6


OPCIONES LA PRIMERA OPCION DEBE CALCULAR LAS RAICES DE UNA ECUACION DE
SEGUNDO GRADO DE LA FORMA AX² + BX + C , EL PROGRAMA DEBE CONSIDERAR LO
SGTE:

- SI EL RESULTADO ES UN NUMERO INDETERMINADO SOLO DEBE MOSTRAR UN MENSAJE


- SI EL RESULTADO ES UN NUMERO IMAGINARIO ENTONCES DEBERA MOSTRAR DICHO
NUMERO
- CUALQUIER OTRO CASO DEBERA CALCULAR LAS RAICES DE LA ECUACION DE SEGUNDO
GRADO
UTILIZANDO LA FORMULA -B+ - RAIZ CUADRADA B²-4AC / 2A
LA SEGUNDA OPCION DEBE PERMITIR AYUDAR A AQUELLOS ALUMNOS QUE SE
ENCUENTRAN DESAPROBADOS EN UN DETERMINADO CURSO.
EL PROGRAMA DEBE LEER EL PROMEDIO FINAL Y LAS RESPUESTA DE LA PREGUNTA ¿SI
ENTREGO TRABAJO?

SI EL ALUMNO ESTA DESAPROBADO Y SI ENTREGO TRABAJO ENTONCES SE LE DEBE


AUMENTAR 2 PTOS , CUALQUIER OTRO CASO DEBE PERMANECER CON SU MISMA NOTA.
LA TERCERA OPCION DEBE LEER 5 NOTAS Y LUEGO DEBE CALCULAR EL PROMEDIO DE LAS
4 NOTAS MAS ALTAS LA CUARTA OPCION DEBE PERMITIR INGRESAR UN NUMERO ENTERO
POSITIVO Y LUEGO DEBE ESCRIBIR UN MENSAJE PARA INDICAR SI EL NUMERO ES UN
MULTIPLO SOLO DE 3 Y PERO DE 6.
EL CASO 5 DEBE PERMITIR LEER 4 NUMEROS ENTEROS Y POSTERIORMENTE ESCRIBIR LOS
NUMEROS IMPARES COMPRENDIDOS ENTRE EL NUMERO MENOR Y EL NUMERO MAYOR
DE LOS 4 NUMEROS INGRESADOS.

LA OPCION 6 DEBE MOSTRAR UN MENSAJE ANTES DE TERMINAR EL PROGRAMA.


#include <cstdlib>
#include <iostream>
#include <iomanip>
#include <math.h>
#include <conio.h>
using namespace std;

int main()
{
int OPC,Y,x,i,a,b,c,d,t;
float p,j,k,l,n,o,pf,pm,m,e,f,g,r1,r2;
cout<<"\n\n\n MENU DE OPCIONES"<<endl;
cout<<"\n\n RAICES DE UNA ECUACION [1]"<<endl;
cout<<"\n\n NOTAS DE UN ALUMNO [2] "<<endl;
cout<<"\n\n PROMEDIO DE NOTAS [3] " <<endl;
cout<<"\n\n MULTIPLO DE 3 Y 6 [4] "<<endl;
cout<<"\n\n NUMEROS IMPARES [5] "<<endl;
cout<<"\n\n MENSAJE DE DESPEDIDA [6]"<<endl;
cout<<endl<<"INGRESAR EL NUMERO DE LA OPCION: ";cin>>OPC;
switch(OPC)
{
case 1 :system("cls");
cout<<" RAICES DE UNA ECUACION:;"<<endl;
cout<<"ingresar valor de A:";cin>>e;
cout<<"ingresar valor de B:";cin>>f;
cout<<"ingresar valor de C:";cin>>g;

r1=(-f+((f,2)-4*f*g),0.5)/(2*e);
cout<<"La raiz N°1 es: "<<r1<<endl;
r2=(-f-((f,2)-4*f*g),0.5)/(2*e);
cout<<"La raiz N°2 es: "<<r2<<endl;
system("PAUSE");
break;
case 2 : system("cls");
cout<<"NOTAS DEL ALUMNO;"<<endl;
cout<<" ingrese promedio final:";cin>>pm;
cout<<"si el alumno presento el trabajo escribir el numero 1 ,en caso contrario
escriba el numero 2"<<endl;
cout<<"¿el alumno entrego trabajo?";cin>>t;
switch(t)
{
case 1:
system("cls");
pf=pm+2;
cout<<"el nuevo promedio es :"<<pf<<endl;
system("PAUSE");
break;
case 2:system("cls");
cout<<"el promedio sigue siendo :"<<pm<<endl;
system("PAUSE");
break;
}

break;
case 3 : system("cls");
cout<<"INGRESAR 5 NOTAS DE LAS EVALUACIONES "<<endl;
cout<<"ingresar nota 1 : ";cin>>j;
cout<<"ingresar nota 2 :";cin>>k;
cout<<"ingresar nota 3 :";cin>>l;
cout<<"ingresar nota 4 : ";cin>>n;
cout<<"ingresar nota 5 : ";cin>>o;
m = j;
i=0;
while(i<4)
{
if (k < m)
m= k;
else
if (l < m)
m = l;
else
if (n < m)
m= n;
else
if (o < m)
m= o;
i++;
}
p=((j+k+l+n+o-m)/4);
cout<<"el promedio de las 4 notas mas altas es :"<<p<<endl;
if (p >= 10.5)
cout<<endl<<"Aprobado"<<endl;
else
cout<<endl<<"No aprobado"<<endl;
cout<<"La nota eliminada es: "<<m<<endl;
system("PAUSE");
break;

case 4 :system("cls");
cout<<"ingresar un numero:";cin>>a;
if(a%3==0 && a%6==0)
{
cout<<"el numero es un multiplo de 3 y de 6 "<<endl;
system("PAUSE");
}

else
{
cout<<"el numero no es multiplo de 3 y 6"<<endl;
system("PAUSE");
}
break;
case 5 :
system("cls");
cout<<"ingrese 4 numeros diferentes"<<endl;
cout<<"ingresar valor del nun.1 : ";cin>>a;
cout<<"ingresar valor del nun.2 :";cin>>b;
cout<<"ingresar valor del nun.3 :";cin>>c;
cout<<"ingresar valor del nun.4 : ";cin>>d;

if (a%2!=0 && a%2!=2)


{
cout<<a<<endl;
}
if (b%2!=0 && a%2!=0)
{
cout<<b<<endl;
}
if (c%2!=0 && a%2!=0)
{
cout<<c<<endl;
}
if (d%2!=0 && a%2!=0)
{
cout<<d<<endl;
}
cout<<"los mostrados son los numeros impares "<<endl;

system("PAUSE");
break;

case 6 :system("cls");
cout<<"\n\n USTED ESTA FINALIZANDO EL PROGRAMA"<<endl;
system("PAUSE");
break;

}
}

FUNCIONES

VECTORES

1)
Cargar 2 vectores con nros enteros, uno de 100 y el otro de 200, sin repetir
los nros dentro de cada vector.
Se pide realizar una funcion q devuelva un tercer vector con los elementos
repetidos de los vectores ingresados al principio.

# include <iostream.h>
# include <conio.h>
# include <string.h>
# include <iomanip.h>

void carga1 (int v[]);


void carga2 (int v[]);
void busqueda (int v[],int c[],int d[],int &ct);
void impre (int v[],int &ct);
int main()
{
int a[100],b[200],c[100],ct=0;
carga1 (a);
carga2 (b);
busqueda (a,b,c,ct);
impre(c,ct);
getche();
return 0;
}
void carga1 (int v[])
{int i;
cout<<"Ingrese los componentes del 1° vector "<<endl;
for (i=0;i<100;i++)
{
cout<<"ingrese el valor de la posicion "<<i<<endl;
cin>>v[I];
}
}
void carga2 (int v[])
{int i;
cout<<"Ingrese los componentes del 2° vector "<<endl;
for (i=0;i<200;i++)
{
cout<<"ingrese el valor de la posicion "<<i<<endl;
cin>>v[i];
}
}

void busqueda (int v[],int c[],int d[],int &ct)


{
int a=0,i,j;
for (i=0;i<100;i++)
{for (j=0;j<200;j++)
{if (v[i]==c[j])
{
d[a++]=v[i];
ct++;
}
}
}
}
void impre (int v[],int &ct )
{ int i;
cout<<"el vector con los elementos q se repiten \n";
for (i=0;i<ct;i++)
cout<<setw(7)<<setprecision(2)<<v[i]<<endl;
}

2)

Función es capturar 5 valores, mostrarlos, y después indicar si cada uno de los


valores es número para o impar y si es primo o no….

#include
main()
{
int j, arreglo[5];
cout<<"inserta 5 valores para los vectores\n";
j=1;
for (j=1; j>arreglo[j];

for (j=1; j<6; j++)

cout<<"\nLos vectores son: "<<arreglo[j];

}
for (j=1; j<6; j++)
{
if (arreglo[j]%2==0)
cout<<"Es par "<<arreglo[j];
else
cout<<"Es impar "<<arreglo[j];
}
for (j=0; j<5; j++)
{
if (arreglo[j]==2 || arreglo[j]==3 ||arreglo[j]==5 ||arreglo[j]==7 )
cout<<"Es primo " <<arreglo[j];
else
{
if (arreglo[j]%2 && arreglo[j]%3 && arreglo[j]%5 && arreglo[j]%7)
cout<<"Es primo " <<arreglo[j];
else
cout<<"No es primo " <<arreglo[j];
}

system("pause");

MATRICES

1)
Este programa resuelve y comprueba la multiplicación de matrices.

# include <stdio.h>
# include <conio.h>
# include <iomanip.h>

void carga (int v[][1000],int a,int b);


void carga2 (int v[][1000],int a,int b);
void mult(int x[][1000],int y[][1000],int c[][1000],int a,int b);
void impre (int v[][1000],int a,int b);
int main()
{
int a[1000][1000],c[1000][1000],d[1000][1000];
int na,ma,nc,mc;
cout<<"ingrese el nro de filas de la 1º matriz : \n";
cin>>na;
cout<<"ingrese el nro de columnas de la 1º matriz : \n";
cin>>ma;
cout<<"ingrese el nro de filas de la 2º matriz : \n";
cin>>nc;
cout<<"ingrese el nro de columnas de la 2º matriz : \n";
cin>>mc;
carga (a,na,ma);
carga2 (c,nc,mc);
if (ma==nc)
{
mult(a,c,d,na,mc);
impre(d,na,mc);}
else
cout<<" no se puede realizar la multiplicacion..";
getche();
return 0;
}

void carga (int v[][1000],int a,int b)


{int i,j;
for (j=0;j<a;j++)
for (i=0;i<b;i++)
{
cout<<"ingrese el valor de la posicion "<<j<<" "<<i<<endl;
cin>>v[j][i];
}
}
void carga2 (int v[][1000],int a,int b)
{int i,j;
for (j=0;j<a;j++)
for (i=0;i<b;i++)
{
cout<<"ingrese el valor de la posicion "<<j<<" "<<i<<endl;
cin>>v[j][i];
}
}

void mult(int x[][1000],int y[][1000],int c[][1000],int a,int b)


{
int i,j,k;
for (i=0;i<a;i++)
{for (j=0;j<b;j++)
{c[i][j]=0;
for (k=0;k<a;k++)
{c[i][j]=c[i][j]+(x[i][k])*(y[k][j]);}
}
}
}
void impre (int v[][1000],int a,int b)
{
int i,j,c;
c=b-1;
cout<<"la matriz resultante es \n";
for (i=0;i<a;i++)
{for (j=0;j<b;j++)
{cout<<setw(7)<<setprecision(2)<<v[j];
if(c==j)
cout<<endl;}}

FUNCIONES y MATRICES
1) LLENAR, MOSTRAR, ELEMENTOS DE UNA MATRIZ DE 2 X 20

Uso de funciones y Matrices

#include<stdio.h>
#include<conio.h>
void llenar (int M[20] [20], int f, int c)
{
int k=1;
for (int i=1;i<=f;i++)
{
if (i%2!=0)
{
for (int j=i;j<=c;j++)
{
M[i][j]=k; k++;
}
}
else
{
for (int j=c;j>=1;j--)
{
M[i][j]=k; k++;
}
}
}
}

void mostrar (int M[20][20], int f, int c)


{
for (int i=1;i<=f;i++)
{
printf("\n");
for (int j=1;j<=c;j++)
{
printf("[%d] ",M[i][j]);
}
}
}

int main()
{
int f,c;
int M[20][20];
printf("Inserte filas de M: ");scanf("%d",&f);
printf("Inserte cols. de M: ");scanf("%d",&c);
llenar(M, f, c);
mostrar(M, f, c);
getch();
}
REVISAR

Pseudocdigos (52 Ejercicios resueltos)


http://www.nocturnar.com/forum/programacion/302528-ejercicios-resueltos-c.html
FUNCIONES EN DEV C++
C++: (01)

/* Este ejemplo realiza llamadas a las funciones, desde la funcion


principal Main(). en un programa en C++ puedes tener varias
funciones pero nunca debe de faltar la funcion principal Main(). */

using namespace std;

#include<iostream .h>

//declaramos las funciones antes de ser utilizadas en el metodo


principal

void mensaje1()
{
cout <<"mensaje1 \n";
}
void mensaje2()
{
cout <<"mensaje2 \n";
}
void mensaje3()
{
cout <<"mensaje3 \n";
}

int main ( )
{ // funcion principal

cout<<" ::XROM RELOADED:: \t 15/05/2006 \n";


cout<<" Autor: Allan Duvallier \n \n";

cout <<"corriendo programa"<<endl;

mensaje1(); //aqui de manda llamar cada funcion.


mensaje2();
mensaje3();

//pausamos después de que muestre el resultado el programa


system("pause");

return 0;
}
//fin del programa
PROBLEMAS PROPUESTOS

DIFERENCIAS ENTRE GETCH() y GETCHE()

#include <stdio.h>
#include <conio.h>

int main()
{
char letra;

clrscr();
printf( "Letra: " ); fflush( stdout );
letra= getch();
printf( "\n\nPusiste una %c", letra );
printf( "\n\nPulsa para salir.." );
getch();
return 0;
}

Aqui te dejo las diferencias entre getch(); y getche();

getch(); <--- al momento de darle un carcater (pulsar una tecla), realiza el siguiente
comando. Mas NO imprime en pantalla TU caracter.

getche(); <---- Lo mismo que arriba, solo que getche(); SI te imprime el caracter en
pantalla

IF
Resolución de ejercicio de toma de decisiones:

1)
3 personas van a un cajero del banco imperial y uno de ellos desea retirar S/1000 y los
otros 2 desean depositar S/1000; pero al momento de acceder al cajero, se dan cuenta
de que hay ganancia por depositar un monto mayor de S/500 y cobran interes por
retirar un monto mayor de S/500.
También el cajero les preguntara q tipo de cliente son:

PREFERENCIAL
VIP
NORMAL
y cada uno son de diferente tipo.

si el cajero solo permite depositar y retirar:

S/100
S/200
S/500
S/1000
Escribir un programa que halle sus nuevos saldo despues de cada deposito y retiro
sabiendo que:

PREFERENCIAL contaba con S/5000


VIP contaba con S/4000
NORMAL contaba con S/2000

SWITCH

1)
PROBLEMA DEL CAJERO AUTOMATICO

El señor Luis ingresa su tarjeta de crédito a un cajero, el cajero le da


elecciones de los movimientos que puede hacer, retirar efectivo, consignar,
consultar saldo, cambiar clave y pagar servicios, si el señor Luis hace los
siguientes movimientos;
1.- Decide retirar efectivo
2.- Decide consignar
3.- Decide consultar saldo
4.- Decide cambiar clave
5.- Decide pagar servicios
Después de haber hecho todos estos movimientos el señor Luis retira si tarjeta
y se marcha

MATRICES
ARREGLOS BIDIMENSIONALES: MATRICES

Problemas con Matrices Bidimensionales.

Para cada uno de los problemas que se presentan a continuación desarrolle el


algoritmo utilizando diagrama de flujo o pseudocódigo y el programa en C.

1. Diseñar un programa para decidir si existe algún elemento en una matriz que sea a
la vez máximo de su fila y mínimo de su columna.

2. Escribir un programa que llene una matriz de 5 por 5 de valores aleatorios. A


continuación el programa debe imprimirla por pantalla. El programa puede también
imprimir las sumas de las filas y las columnas.

3. En un congreso cuya duración es de 5 días, tienen lugar conferencias en 5 salas. Se


desea saber:

A) El total de congresistas que asisten a cada una de las salas.


B) b) El total de congresistas asistentes cada día al congreso.
C) c) La media de asistencia a cada sala.
D) d) La media de asistencia diaria.
E) e) Imprimir una tabla mostrando la diferencia porcentual ( + ó -) respecto a la
media de asistencia a cada sala.

Como datos de entrada tendremos el número de asistentes para las diferentes


salas, para cada uno de los días del congreso. Diseñar un Algoritmo que nos calcule
estos datos.

4. Realizar un programa para implementar las operaciones básicas sobre matrices. El


programa debe crear dos matrices 3X3 y permitir ingresar los valores
correspondientes a cada matriz. Las operaciones que se deben implementar son:
suma de matrices, resta de matrices, multiplicación de matrices, transpuesta de una
matriz. En la opción de transpuesta de una matriz hay que preguntarle al usuario
cual de las matrices desea transponer.

ORDENAR

27)
/*1) Un estudiante de Turismo desea Determinar para cierto día en el Balneario
de Huacachina , el promedio de edad , así como el numero de visitantes por
sexo para lo cual anota desde las 8.a.m. hasta las 6.p.m. , el sexo ('H', 'M')
y la edad de cada visitante . Al final del dia el estudiante ingresa un
asterisco (`*' ) como sexo para dar por terminado su proceso y mostrar los
siguientes resultados:
- Numero de visitantes hombre
-Numero de visitantes mujeres
- mayor edad de los asistentes
-menor edad de los asistentes*/
#include <iostream>
using namespace std;
int main()
{
char sexo;
int edad;
int mayor,menor,hombres,mujeres;
//inicializando
mayor=0;
menor=100;
hombres=0;
mujeres=0;

cout<<" sexo (h/m) : "; cin>>sexo;


do
{
cout<<"ingrese edad : "; cin>>edad;
if(edad>mayor) mayor=edad;
if(edad<menor) menor=edad;
if(sexo=='h' ) hombres++;
else mujeres++;
cout<<" sexo (h/m) : "; cin>>sexo;
}while(sexo!='*');
cout<<"mujeres : "<<mujeres<<endl;
cout<<"hombres : "<<hombres<<endl;
cout <<"asistente de menor edad : "<<menor<<endl;
cout <<"asistente de mayor edad : "<<mayor<<endl;
system("pause");
return 0;
}

28)
/*1) Calcular la utilidad que un trabajador recibe en el reparto anual de
utilidades si este se le asigna como un porcentaje de su salario mensual que
depende de su antigüedad en la empresa de acuerdo con la sig. tabla:
Tiempo Utilidad
Menos de 1 año 5 % del salario
1 año o mas y menos de 2 años 7% del salario
2 años o mas y menos de 5 años 10% del salario
5 años o mas y menos de 10 años 15% del salario
10 años o mas 20% del salario */

#include<iostream>
using namespace std;
int main()
{
float utilidad, salario, ant;
char rpta='s';
while(rpta=='s')
{
cout<<"Ingrese salario : "; cin>>salario;
cout<<" Antiguedad : "; cin>>ant;
if(ant<1) utilidad=0.05*salario;
if(ant<2 && ant>=1) utilidad=0.07*salario;
if(ant<5 && ant>=2) utilidad=0.10*salario;
if(ant<10 && ant>=5) utilidad=0.15*salario;
if(ant>=10) utilidad=0.20*salario;
cout<<"la utilidad es : "<<utilidad<<endl;
cout<<"desea continuar s/n ? ",cin>>rpta;
}
system("pause");
return 0;
}

29)

/*2) En una Olimpiada de tiro al blanco se llega a un acuerdo entre los


participantes para que el puntaje obtenido sea calculado en base al puntaje
original (0 al 10) alcanzado en el tiro , multiplicado por un factor :

Puntaje Original Factor


0 0
1…5 6
6…8 9
9..10 10 */
#include<iostream>
using namespace std;
int main()
{
int n,puntaje ;
cout<<"ingrese su puntaje inicial " ; cin>>n;
if(n>=1 && n<=5) puntaje=n*6;
if(n>=6 && n<=8) puntaje=n*9;
if(n>=9 && n<=10) puntaje=n*10;
cout<<"el puntaje final es " <<puntaje<<endl;
system("pause");
return 0;
}

30)
Una farmacia ha clasificado para su inventario los productos de la siguiente manera:

Tipo Clase
G Analgésico
R Antibiótico
O Otros

Cada clase puede ser de procedencia Nacional o Importado . Hacer un


programa que contabilice las existencias de cada una de las categorías tanto
nacionales como importados.El programa deberá solicitar cantidad, nacionalidad
y Tipo , además deberá terminar cuando se ingrese un numero negativo
en Cantidad.*/
#include<iostream>
using namespace std;
int main()
{
char procedencia,tipo;
int CANT=0,GN=0,RN=0,ON=0,GI=0,RI=0,OI=0;
cout<<"INGRESE CANTIDAD "; cin>>CANT;
while(CANT>=0)
{
cout<<"INGRESE PROCEDENCIA (N/I) "; cin>>procedencia;
cout<<"INGRESE TIPO G/R/N "; cin>>tipo;

switch(procedencia)
{
case 'N' : switch(tipo)
{case 'G': GN=GN+CANT;break;
case 'R' :RN=RN + CANT;break;
case 'O' :ON=ON + CANT;break;}
case 'I' : switch(tipo)
{case 'G': GI=GI+CANT;break;
case 'R' :RI=RI+CANT;break;
case 'O' :OI+=OI+CANT;break; }
}
cout<<"INGRESE CANTIDAD "; cin>>CANT;
}
//MOSTRAR RESULTADOS
cout<<"Analgesicos Nacionales "<<GN<<endl
<<"Analgesicos importados "<<GI<<endl
<<"Antibioticos Nacionales "<<RN<<endl
<<"Antibioticos importados "<<RI<<endl;

system("pause");
return 0;
}

31)

En la Universidad se han establecido los siguientes puntajes de ingreso a sus


respectivas facultades:

FACULTAD PUNTAJE MINIMO


Sistemas 100
Medicina 90
Odontología 80
Electronica 70

De acuerdo al Puntaje Obtenido por un postulante determinar la Facultad a la


cual ingresa y dar el mensaje correspondiente. El programa deberá repetirse
hasta que el usuario así lo desee.*/
#include<iostream>
using namespace std;
int main()
{
float puntaje;
char rpta='s';
while(rpta=='s')
{
cout<<"Ingrese puntaje : "; cin>>puntaje;
if(puntaje>=100) cout<<"INGRESO A SISTEMAS"<<endl;
if(puntaje>=90 && puntaje<100) cout<<"INGRESO A MEDICINA"<<endl;
if(puntaje>=80 && puntaje<90) cout<<"INGRESO A ODONTOLOGIA"<<endl;
if(puntaje>=70 && puntaje<80) cout<<"INGRESO A ELECTRONICA"<<endl;
if(puntaje<70) cout<<"NO INGRESO "<<endl;
cout<<"desea continuar s/n ? ",cin>>rpta;
}
system("pause");
return 0;
}

32)
//inclusion de librerias
#include<iostream>
using namespace std;

int main()
{
//declaracion de variables
float numreal;
int hor, min, seg, dseg;
//ingreso de datos
cout<<" ingrese un numero real : "; cin>>numreal;
//conversion a unidades pedidas
hor=int(numreal);//captura la parte entera
numreal=(numreal-hor)*60;
min=int(numreal);
numreal=(numreal-min)*60;
seg=int(numreal);
numreal=(numreal-seg)*60;
dseg=int(numreal);

//Escribir resultados
cout<<endl;
cout<<"Horas : "<<hor <<endl;
cout<<"minutos : "<<min <<endl;
cout<<"Segundos : "<<seg<<endl;
cout<<"Decimos : "<<dseg<<endl;
system("pause");
return 0;
}

FUENTE
EXAMENES
http://mttocecyteg.blogspot.com/2012/05/material-de-examen-dev-c.html