Sunteți pe pagina 1din 37

Ejercicios para Practicar C++

-- Para aprender a programar, el aprendiz debe de invertir cientos de horas frente a la pc. N.N.

Variables, Tipos de Datos, Asignaciones, Operadores

[Rectngulo] Haga un programa que halle el rea y el permetro de un rectngulo. Considere las siguientes frmulas: rea = base * altura, permetro = 2 * (base + altura). El programa deber llamarse <rectangulo.cc>
#rectangulo Area del rectangulo =================== Entre el valor de la base = 12 Entre el valor de la altura = 18 Area = 12 * 18 = 216 Perimetro = 2 * (12 + 18) = 60

[Pies] Disee un programa para convertir una longitud dada en centmetros a pies. Considere que: 1 pie = 30.48 centmetros. El programa deber llamarse <pies2cms.cc>
#pies2cms Convertidor de Pies a Centmetros ================================= Entre una longitud en centmetros = 150 150 centmetros = 4.92126 pies #pies2cms

Convertidor de Pies a Centmetros ================================= Entre una longitud en centmetros = 3570.8910 150 centmetros = 117.155 pies

[Tringulo] Calcular el rea de un tringulo, conociendo su altura y su base. El programa deber llamarse<triangulo.cc> [Races] Realizar un programa para ingresarle los coeficientes A, B y C de una ecuacion de segundo grado, y que calcule y muestre por pantalla las races X1 y X2. X1 = (-B + SQR(B^2 - 4*A*C)) / (2*A) y X2 = (B - SQR(B^2 - 4*A*C)) / (2*A). Las raices de una ecuacin de segundo orden, pueden ser races reales o imaginarias. Para ente programa assuma que las races son siempre reales. El programa deber llamarse <raices.cc>
#raices Calculo de Raices para Ax^2 + Bx + C = 0 ======================================== Entre el valor de A = -3 Entre el valor de B = -4 Entre el valor de C = 8 Las races de "-3x^2 -4x + 8 = 0" son: X1 = -2.4305 X2 = 1.09717

[Tiempos] Disee un programa para sumar dos marcas de tiempo dadas en horas, minutos y segundos. El programa deber llamarse <tiempos.cc>

#tiempos Suma de Tiempo ============== Entre la primera marca de tiempo t1 (hh mm ss)= 20 12 12 Entre la segunda marca de tiempo t2 (hh mm ss)= 8 8 16 Valor primer tiempo = 72732s (20h12m12s) Valor segundo tiempo = 29296s (8h8m16s) Valor t1 + t2 = 102028s (28h20m28s) #tiempos Suma de Tiempo ============== Entre la primera marca de tiempo t1 (hh mm ss)= 30 10 50 Entre la segunda marca de tiempo t2 (hh mm ss)= 14 56 44 Valor primer tiempo = 108650s (30h10m50s) Valor segundo tiempo = 53804s (14h56m44s) Valor t1 + t2 = 162454s (45h7m34s)

[Prstamo] Se solicita un prstamo por C pesos durante N meses a una tasa de inters mensual L. Al final de los N meses la cantidad adeudada es C * (1 + I) ^ N. Hacer un programa al cual se le dan los valores de C, N e L, y calcule e imprima la suma adeudada. El programa deber llamarse <prestamo.cc>
#prestamo Calculadora de Prestamos ======================== Entre el valor del prestamo (C)= 2000000 Durante cuantos meses desea pagar (N)= 24 Cual es la tasa de interes (I)= 2.0

La cantidad audedada es de 3216874.50

[metros] Hacer un programa para ingresarle una medida en metros, y que imprima esa medida expresada en centmetros, pulgadas, pies y yardas. Los factores de conversin son los siguientes: 1 yarda = 3 pies 1 pie = 12 pulgadas 1 metro = 100 centmetros 1 pulgada = 2.54 centmetros El programa deber llamarse <metros2todos.cc>
#metros2todos Conversor ========= Ingrese una distancia en metros= 185.34 185.34 185.34 185.34 185.34 metros metros metros metros equivalen equivalen equivalen equivalen a a a a 18534.00 centimetros 7296.85 pulgadas 608.07 pies 202.69 yardas

[Millonario] Un millonario excntrico tena tres hijos: Carlos, Jos y Marta. Al morir dej el siguiente legado: A Jos le dej 4/3 de lo que le dej a Carlos. A Carlos le dej 1/3 de su fortuna. A Marta le dejo la mitad de lo que le dej a Jos. Preparar un programa para darle la suma

a repartir e imprima cuanto le toc a cada uno. El programa deber llamarse<millonario.cc>


#millonario Testamento ========== Entre el valor a repartir = 50000000 A Carlos le corresponde 16666666.67 A Jose le corresponde 22222222.22 A Martha le corresponde 11111111.11 #millonario Testamento ========== Entre el valor a repartir = 780000 A Carlos le corresponde 260000 A Jose le corresponde 346666.6667 A Martha le corresponde 173333.3333

[Promedio] Haga un programa para calcular el promedio de cinco calificaciones. El programa deber llamarse<promedio.cc> [Circulo] Escribe un programa en C++ que calcule el rea y permetro de un crculo. El programa deber llamarse<circulo.cc> [Mquina reversadora de nmeros] Haz un programa que reciba un nmero de 5 dgitos (suponga que lo ingresan bien) y muestre el nmero en forma reversa. El programa deber llamarse <reversadora.cc>

#reversadora Mquina reversadora de nmeros ============================== Ingrese un nmero de cinco dgitos = 12345 su nmero en forma normal es 12345 su nmero al reves es 54321

[Nibles] Haga un programa que sume los nibles (4 bits) ms significativo y menos significativo de una variable de un byte llamada dato y escriba el resultado en una variable de un byte llamada resul. El programa deber llamarse <nibles.cc>
#nibles Sumador de nibles ================= Ingrese un nmero entre 0 y 255 = 180 La suma de sus nibles es 4 + 11 = 15

[Multiplicacin por 300] Haga un programa que lea un entero y lo multiplique por 300. El uso del operador "*" y "\" esta prohibido. El programa deber llamarse <mulp300.cc> [Hint] Trate de utilizar operadores tipo bitwise. [Peso] Dado el peso de una persona en libras, calcule su peso en kilogramos. NOTA: 1 libra es aproximadamente igual a 0,453592 Kg. El programa deber llamarse <peso.cc>

[Fahrenheit] Haga un programa para convertir una temperatura en grados Centgrados a Fahrenheit. La frmula para hacer la conversin es: Fahrenheit = ( 9 * Celsius ) / 5 + 32. El programa deber llamarse <fahrenheit.cc> [Celsius] Haga un programa para convertir una temperatura en grados Fahrenheit a grados Celsius. Utilizar la frmula: Celsius=(5/9)*(Fahrenheit-32). El programa deber llamarse <celsius.cc> [Determinante] Dada una matriz de tres filas por tres columnas: | A1 A2 A3 | | A4 A5 A6 | | A7 A8 A9 | puede obtenerse su determinante mediante la frmula: D = A1*A5*A9 + A2*A6*A7 + A3*A4*A8 - A3*A5*A7 - A2*A4*A9 - A1*A6*A8 Preparar un programa que permita ingresar por teclado los elementos de la matriz, y que calcule y muestre por pantalla el determinante. El programa deber llamarse <det.cc>

[Don Manolo] El almacen "Don Manolo" necesita un programa que ayude a calcular la forma de dar vuelta con el mnimo de billetes y monedas posible. El programa deber llamarse <manolo.cc>

#manolo Almacen Don Manolo ================= Total a pagar = 7823 El cliente paga = 10000 Vuelto = 2177 Desglosado en: 0 billete(s) de 10000 0 billete(s) de 5000 2 billete(s) de 1000 0 billete(s) de 500 1 moneda(s) de 100 1 moneda de 50 2 moneda(s) de 10 1 moneda de 5 2 moneda(s) de 1

[ISBN] El International Standard Book Number (en espaol Nmero Internacional Estndar del Libro), o ISBN (pronunciado a veces como "isbin"), es un identificador nico para libros. El nmero tiene siempre 10 dgitos de longitud, y est dividido en cuatro partes: 1. El cdigo del pas o lengua de origen 2. El editor 3. El nmero del artculo, y 4. El dgito de control. Estas partes tienen distintas longitudes y generalmente estn separadas por guiones. El dgito de control de un ISBN se puede calcular multiplicando cada dgito del ISBN por el lugar que ocupa dicho dgito en la secuencia numrica (multiplicando el primero por la izquierda por 1, el siguiente por 2, etc.) Tomando despus la suma de las multiplicaciones y calculando el modulo 11 de esta suma, con 10 representado por el carcter "X". Por

ejemplo, para calcular el dgito de control de un ISBN cuyos nueve primeros dgitos son 0-306-40615: 1x0 + 2x3 + 3x0 + 4x6 + 5x4 + 6x0 + 7x6 + 8x1 + 9x5 = 0 + 6 + 0 + 24 + 20 + 0 + 42 + 8 + 45 = 145 = 145%11 = 2 Por lo que el dgito de control es 2, y la secuencia completa es ISBN 0306-40615-2. Escriba un programa que, a partir de los dgitos de un ISBN, calcule el dgito de control. El programa deber llamarse <isbn.cc>
#isbn Dgito de control ISBN ====================== Introduzca el ISBN = 8 4 8 9 6 6 0 8 1 El dgito de control es 6 #isbn Dgito de control ISBN ====================== Introduzca el ISBN = 0 5 9 0 3 5 3 4 0 El dgito de control es 3 #isbn Dgito de control ISBN ====================== Introduzca el ISBN = 0 9 0 6 2 2 2 7 7 El dgito de control es X

[Odometer] A sales person leaves his home every Monday and returns every Friday. He travels by company car. Each day on the road, the

salesperson records the amount of gasoline put in the car. Given the starting odometer reading(that is, the odometer reading before he leaves on monday) and the ending odometer reading (the odometer reading after he returns home on friday). here some sample data: start: 68723 end: 71289 Mon: 15.75 Tues: 16.30 Wed: 10.95 Thru: 20.65 Fri: 30.00 Find how many miles could the saleperson drive (in average) with a galon. El programa deber llamarse <odometer.cc> [Tringulo II] Suponga que a, b y c son las longitudes de los lados de un tringulo. Entonces el rea de un tringulo se puede calcular utilizando la siguiente formula: rea = SQR( s(s-a)(s-b)(s-c) ). Donde s es el semi-permetro (a+b+c)/2. El programa deber llamarse <triangulo2.cc> [Distancia Euclidiana] coordenadas de dos puntos en el entre ellos. La distancia entre por la formula d=SQR( (x2-x1)^2 llamarse <points.cc> Haga un programa que pregunte por las plano y calcule la distancia (euclidiana) dos puntos (x1, y1) y (x2, y2) esta dada + (y2-y1)^2 ). El programa deber

#points Calculo de Distancia Euclidiana entre Dos Puntos ================================================ Cordenadas (x,y) del primer punto = 10.2 4.5 Cordenadas (x,y) del segundo punto = 7.5 -3.5 La distancia entre (10.2, 4.5) y (7.5, -3.5) es 8.44

[Validacin de Tarjetas de Crdito] Todas las tarjetas de crdito tienen un sistema de verificacin de nmeros. Esto se hace para verificar la autenticidad del nmero de la tarjeta. Cada nmero tiene un significado. La mayora de las veces los primeros nmeros agrupados (que suelen ser de cuatro) significan el tipo de tarjeta. Los dems nmeros significan la oficina del representante de servicio y los nmeros que identifican al cliente. Los dos ltimos nmeros se utilizan para verificar si el nmero de tarjeta de crdito es correcto. A estos se le conocen como los check digits. Construya un programa que dada la siguiente frmula valide los nmeros de tarjeta de crdito. 1. Los nmeros en posiciones pares se acumulan. 2. Cada nmero en posicion impares se multiplica por 2 y se acumula. 3. Los check digits se calculan buscando el residuo de lo acumulado de nmeros en posiciones pares entre el acumulado de nmeros en posiciones impares. El programa deber llamarse <tcredito.cc>

#tcredito Verificador de Tarjeta de Crdito ================================= Entre el nmero de tarjeta = 8 9 0 3 9 8 5 4 9 8 9 4 8 9 0 0 4 8 Este nmero es valido #tcredito Verificador de Tarjeta de Crdito ================================= Entre el nmero de tarjeta = 2 9 4 3 5 5 6 4 6 8 6 4 7 9 1 0 3 7 Este nmero es valido #tcredito Verificador de Tarjeta de Crdito ================================= Entre el nmero de tarjeta = 1 1 4 1 5 5 6 4 1 8 6 4 1 0 0 0 1 1 Este nmero NO es valido, los dos ltimos dgitos deberan ser 2 4

[Suma de Fracciones] Para sumar dos nmeros racionales se utiliza la siguiente frmula:
a c ad + bc - + - = ------b d bd

Haga un programa que calcule la suma entre dos fracciones. El programa deber llamarse <fracciones.cc>

Estructuras de Control

[Max] Calcular el mximo de dos nmeros. El programa deber llamarse <max.cc>


#max Mximo ====== Entre un nmero = 128 Entre otro nmero = 7 El nmero 128 es mayor o igual que 7 #max Mximo ====== Entre un nmero = 36 Entre otro nmero = 1507 El nmero 1507 es mayor o igual que 36

[Positivo Negativo] Escribir un programa que indique si un nmero introducido por teclado es positivo, igual a cero o negativo. El programa deber llamarse <pnz.cc> [Par Impar] Escribir un programa que indique si un nmero introducido por teclado es par o impar. El programa deber llamarse <parimpar.cc>
#parimpar Par Impar ========= Entre un nmero = 128 El nmero 128 es PAR

#parimpar Par Impar ========= Entre un nmero = 7 El nmero 7 es IMPAR


[Convertidor de divisas] Hacer un programa que me permita convertir una cierta cantidad de Pesos Colombiano en otras divisas. Las divisas que puede manejar su programa son: 1 1 1 1 1 1 1 Euro = 2,679.50 Pesos Colombianos Yen Japones = 19.17 Pesos Colombianos Peso Chileno = 4.23 Pesos Colombianos Libra Esterlina = 3,921.88 Pesos Colombianos Dlar Americano = 2,253.00 Pesos Colombianos Dlar Australiano = 734.18 Pesos Colombianos Dlar Canadiense = 1,948.77 Pesos Colombianos

[Nota] Haga uso del comando switch para desplegar el men El programa deber llamarse <divisas.cc>
#divisas Convertidor de divisas ====================== Introduzca la cantidad de pesos a convertir = 1760000 Seleccione el tipo de conversin 1 - Euro 2 - Yen Japones 3 - Peso Chileno 4 - Libra Esterlina

5 6 7 ?

- Dlar Americano - Dlar Australiano - Dlar Canadiense 2

1760000.00 pesos equivalen a 91810.12 Yenes Japones


[Grado Promedio] Hacer un programa que lea tres grados en letras, y muestre su promedio. El programa deber utilizar una escala de 4 puntos para calcular el promedio numrico (PN): 4 para A, 3 para B, 2 para C, 1 para D y 0 para F. Su programa debe mostrar que el promedio es A si PN es mayor a 3.5, B si es mayor a 2.5, C si es mayor a 1.5, D si es mayor a 0.5 o F de lo contrario. [Nota] Por simplicidad, asuma que el programa solo acepta letras maysculas. El programa deber llamarse <letras.cc>
#letras Computo Grado Promedio ====================== Entre el primer grado : A Entre el segundo grado : B Entre el tercer grado : C El grado promedio es: B #letras Computo Grado Promedio ====================== Entre el primer grado : A Entre el segundo grado : F Entre el tercer grado : D El grado promedio es: C

[Bisiesto] Haga un programa que determine si un ao es bisiesto: si es divisible por 4, pero no es divisible por 100 o si es divisible por 400. El programa deber llamarse <bisiesto.cc>
#bisiesto Ao Bisiesto =================== Entre el ao = 1998 1998 NO es bisiesto #bisiesto Ao Bisiesto =================== Entre el ao = 1996 1996 es bisiesto #bisiesto Ao Bisiesto =================== Entre el ao = 1900 1900 NO es bisiesto #bisiesto Ao Bisiesto =================== Entre el ao = 2000 2000 es bisiesto

[Diferencia] Ingresar tres nmeros y hallar la diferencia del mayor menos el menor. El programa deber llamarse<dif.cc>

[Saludo] Escriba un programa que lea un instante de tiempo expresado en horas y minutos y escriba como respuesta uno de los mensajes "Buenos das", "Buenas tardes" o "Buenas noches", de acuerdo con las siguientes reglas: 1. Se considera que es de da desde las 6:00 horas hasta las 11:59 horas. 2. Se considera que es por la tarde desde las 12:00 horas hasta las 19:00 horas. 3. Se considera que es de noche desde las 19:01 horas hasta las 5:59 horas El programa deber llamarse <saludo.cc> [Control] Escriba un programa que lea un nmero x del teclado y lleve a cabo las siguientes operaciones: a) si es positivo, calcular e imprimir su raz cuadrada. b) si es distinto de cero, calcular e imprimir su inverso (1/x). c) si es cuadrado perfecto (tiene raz cuadrada exacta), imprimir el mensaje "Es un cuadrado perfecto". d) si es par, calcular e imprimir su cociente entre 2 (x/2). e) si es positivo y menor que 10, imprimir el mensaje "Slo tiene un dgito". f) si est comprendido entre 32 y 127 (ambos inclusive) imprimir el carcter cuyo cdigo ASCII representa. El programa deber llamarse <control.cc> [Multiplo] Ingresar un nmero n y verificar si es mltiplo de 3 o 5. El programa deber llamarse <multiplo.cc>

[ASCII] Lea un carcter y deduzca si es vocal, consonante, dgito o caracter especial. El programa deber llamarse<ascii.cc> [Super Races] Partiendo del enunciado del problema [Races] arriba mencionado, tener en cuenta la posiblidad de tener races negativas. Primero calcule el discriminate B^2 - 4*A*C, si el discriminante es > 0.0, las dos races son reales y distintas y se caculan de la misma manera que en el programa [Races], si el discriminante es 0, las dos raices son reales e iguales y valen X1 = X2 = -B / (2*A). Finalmente, si el discriminante es < 0.0, las dos races son complejas conjugadas y valen X1_parte_real=X2_parte_real=-B / (2*A), X1_parte_imaginaria = SQR(-discriminante)/(2*A) y X2_parte_imaginaria = SQR(-discriminante)/(2*A). El programa deber llamarse <raices2.cc>
#raices2 Resolucin de la ecuacin de segundo grado ========================================== Entre los valores de los coeficientes A, B y C: -3 -4 8 Las dos raices reales son -2.4305 y 1.09717 #raices2 Resolucin de la ecuacin de segundo grado ========================================== Entre los valores de los coeficientes A, B y C: 1 4 4 Las dos raices son iguales y valen -2 #raices2 Resolucin de la ecuacin de segundo grado ========================================== Entre los valores de los coeficientes A, B y C: 1 3 6.25 Las dos raices son complejas y valen -1.5+2i y -1.5-2i

[Da Semana] Se desea escribir el nombre del da de la semana en funcin de un nmero de da, introducido por teclado. Donde 1 es Domingo, 2 Lunes y as sucesivamente. El programa deber llamarse <diasemana.cc> [Super Tringulo] Disee un programa que lea tres longitudes y determine si forman o no un tringulo. Si es un tringulo determine de que tipo de tringulo se trata entre: equiltero (si tiene tres lados iguales), issceles (si tiene dos lados iguales) o escaleno (si tiene tres lados desiguales). Considere que para formar un tringulo se requiere que: "el lado mayor sea menor que la suma de los otros dos lados". El programa deber llamarse <striangulo.cc>

Estructuras Repetitivas

[countdown] Haga un programa que haga un conteo regresivo desde n hasta 1, donde n es un nmero entero positivo. El programa deber llamarse <countdown.cc>
#countdown Entre n: 10 10, 9, 8, 7, 6, 5, 4, 3, 2, 1, FIRE! #countdown Entre n: 7 7, 6, 5, 4, 3, 2, 1, FIRE!

[Factorial] El factorial de un nmero es el producto de todos los nmeros entre 1 y ese nmero. Por ejemplo, el factorial de 4 es 4x3x2x1 = 24. Haga un programa para calcular el factorial de un nmero n. El programa deber llamarse <fact.cc>
#fact Entre n: 4 4!=24 #fact Entre n: 5 5!=120 #fact Entre n: 5 10!=3628800

[Serie 1] Elabore un programa que calcule e imprima la suma de 1 + 1/2 + 1/3+ 1/4 + 1/5 + 1/6 + . . . + 1/50. El programa deber llamarse <serie1.cc> [Primo] Por si no lo recurda, los nmeros primos son cantidades enteras positivas que nicamente pueden dividirse por uno o por s mismos. Hacer un programa que detecte si un nmero es primo o no. Nota: Para saber si un nmero n es primo, hay que comprobar que el nmero no sea divisible por ningn entero entre 2 y la raz cuadrada del propio nmero. El programa deber llamarse <primo.cc>

#primo Entre n: 47 47 es primo #primo Entre n: 18591 18591 NO es primo #primo Entre n: 15259 15259 es primo #primo Entre n: 1273681 1273681 es primo

[Ingenieros 2050] Estime la poblacin de Ingenieros en sistemas en Colombia para el ao 2050, considerando un crecimiento anual de 11%. Actualmente hay 4000 profesionales del rea. El programa deber llamarse <ing.cc> [Super Primos] Haga un programa que imprima todos los nmeros primos entre 1 y n. El programa deber llamarse<sprimo.cc>
#sprimo Entre n: 10 [1]-[2]-3-5-7 #sprimo Entre n: 200 [1]-[2]-3-5-7-11-13-17-19-23-29-31-37-41-43-47-53-59-61-67-71-

73-79-83-89-97-101-103-107-109-113-127-131-137-139-149-151-157163-167-173-179-181-191-193-197-199

[Mayor Menor] Leer una serie de nmeros hasta que el usuario ingrese el valor sentinela de -99 y escriba el nmero mayor y el nmero menor. El programa deber llamarse <mayormenor.cc>
#mayormenor Entre un valor: 10 Entre otro valor: 107 Entre otro valor: 210 Entre otro valor: 20 Entre otro valor: -15 Entre otro valor: -89 Entre otro valor: 1088 Entre otro valor: 27 Entre otro valor: -882 Entre otro valor: 55 Entre otro valor: 7 Entre otro valor: -8 Entre otro valor: -500 Entre otro valor: 238 Entre otro valor: 1342 Entre otro valor: -787 Entre otro valor: -99 El mayor fue 1342 El menor fue -882

[Cuadrado] Has un programa en C++ que dibuje un cuadrado de n asteriscos. El programa deber llamarse <cuadrado.cc>
#cuadrado Entre n: 8 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * #cuadrado Entre n: 4 * * * * * * * * * * * * * * * * * * * *

* * * * * * * *

* * * * * * * *

[Decimal to Hexadecimal] This program reads integers and prints them in hexadecimal, using the shift and "and" operators. But there are two errors in the program. Correct the errors. El programa deber llamarse <hexa.cc>
#include <iostream> int main() { int n; while (cin >> n)

{ cout << "decimal: " << n << endl; // print hex with leading zeros cout << "hex : " for (int i=2*sizeof(int) - 1; i>=0; i--) { cout << "0123456789ABCDEF"[((n >> i*3) & 0xF)]; } cout << endl << endl; } return 0; }

[Rombo] Escribir un programa que lea un entero y un carcter. La salida debe ser un rombo dibujado con el carcter dado y de anchura mxima dada por el entero leido. El programa deber llamarse <rombo.cc>
#rombo Entre un carcter: * Entre n: 8 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

#rombo Entre un carcter: R Entre n: 5 R R R R R R R R R R R R R R R R R R R R R R R R R


[Binary] The following program reads integers and prints them in binary by division. There are some errors. Find them. El programa deber llamarse <bin.cc>
#include <iostream> int main() { int n; // number to convert to binary while (cin >> n) { if (n > 0) { cout << n << " (decimal) = "; while (x > 0) { cout << x%2; x = x/2; } cout << " (binary) in reverse order" << endl; } else cout << "Please enter a number." << endl;

} return 0; }

[Tablas de Multiplicar] Implemente un programa que muestre por pantalla las tablas de multiplicar que el usuario quiera, y finalice cuando el usuario indique que desea ver la tabla del cero. El programa deber llamarse <tablas.cc>
#tablas Entre n: 5 5x1=5 5x2=10 5x3=15 5x4=20 5x5=25 5x6=30 5x7=35 5x8=40 5x9=45 5x10=50 Entre n: 8 8x1=8 8x2=16 8x3=24 8x4=32 8x5=40 8x6=48 8x7=56 8x8=64 8x9=72 8x10=80 Entre n: 0

[Divisores] Implemente un programa que calcule los divisores de un nmero entero. El programa deber llamarse<divisores.cc>
#divisores Entre n: 70 Los divisores de 70 son 1 2 5 7 10 14 35 70 #divisores Entre n: 17273 Los divisores de 17273 son 1 23 751 17273

[Calculadora] Hacer un programa que simule una calculadora. Nos mostrara el men siguiente: ====== MENU CALCULADORA ====== 1.- Sumar 2.- Restar 3.- Multiplicar 4.- Dividir 0.- Terminar ============================== Ingrese su seleccin > __ El programa deber verificar que introducimos un nmero vlido (del 0 al 4). Si introducimos un nmero errneo nos avisar y volver a mostrar el men. Si introducimos un 0 el programa terminar. Si elegimos un nmero entre el 1 y el 4 nos pedir dos nmeros, mostrar el resultado dependiendo de nuestra eleccin y volver a mostrar el men. El programa deber llamarse <calc.cc>

[Adivinar] Disee un programa para jugar a adivinar un nmero entre 0 y 100. El programa ir dando pistas al jugador indicndole si el nmero introducido por el jugador es menor o mayor que el nmero que tiene que adivinar. El juego termina cuando el jugador adivina el nmero o decide terminar de jugar (por ejemplo, escribiendo un nmero negativo). El programa deber llamarse <adivinar.cc>
#adivinar Adivinando un nmero n entre 1 y 100 ==================================== Entre x:50 50<n Entre x:70 70<n Entre x:90 90>n Entre x:82 82>n Entre x:80 80<n Entre x:81 81=n felicitaciones!, usted adivino el nmero en el sexto intento #adivinar Adivinando un nmero n entre 1 y 100 ==================================== Entre x:50 50<n Entre x:70 70>n Entre x:-1 Muy malo! usted aborto el programa despus del segundo intento

[Nicmaco] Considere la siguiente propiedad descubierta por Nicmaco de Gerasa. "Sumando el primer numero impar, se obtiene el primer cubo; Sumando los dos siguientes impares se obtiene el segundo cubo; Sumando los tres siguientes impares se obtiene el tercer cubo, etc." Ejemplo: 1^3 = 1 = 1 2^3 = 3 + 5 = 3^3 = 7 + 9 + 4^3 = 13 + 15 5^3 = 21 + 23

8 11 = 27 + 17 + 19 = 64 + 25 + 27 + 29 = 125

Desarrolle un programa que escriba los n primeros cubos utilizando esta propiedad. El valor de n debe ser un valor leido por teclado. El programa deber llamarse <nicomaco.cc>
#nicomaco Entre n: 10 1^3=1, 2^3=8, 3^3=27, 4^3=64, 5^3=125, 6^3=216, 7^3=343, 8^3=512, 9^3=729, 10^3=1000 Entre n: 28 1^3=1, 2^3=8, 3^3=27, 4^3=64, 5^3=125, 6^3=216, 7^3=343, 8^3=512, 9^3=729, 10^3=1000, 11^3=1331, 12^3=1728, 13^3=2197, 14^3=2744, 15^3=3375, 16^3=4096, 17^3=4913, 18^3=5832, 19^3=6859, 20^3=8000, 21^3=9261, 22^3=10648, 23^3=12167, 24^3=13824, 25^3=15625, 26^3=17576, 27^3=19683, 28^3=21952

[Perfectos] Los nmeros perfectos son aquellos enteros que son iguales a la suma de sus divisores sin incluir a l mismo. Ejemplo: 6 es un

nmero perfecto porque 1 + 2 + 3 = 6. Elabore un programa que calcule todos los nmeros perfectos menores que un nmero n dado. El programa deber llamarse <perfecto.cc>
#perfecto Entre n: 50 6=1+2+3 28=1+2+4+7+14 #perfecto Entre n: 10000 6=1+2+3 28=1+2+4+7+14 496=1+2+4+8+16+31+62+124+248 8128=1+2+4+8+16+32+64+127+254+508+1016+2032+4064

[Sumatorias] Se tiene una entrada de dgitos entre 0 y 9, precedida por el nmero total de dgitos a leer. Dada la entrada, se debe calcular el total de nmero pares, el total de nmeros impares, el promedio de todos los nmeros, la sumatoria de los nmeros pares, la sumatoria de los nmeros impares, la sumatoria de los cuadrados de los nmeros pares y la sumatoria de los cuadrados de los nmeros impares. El programa deber llamarse <sumatorias.cc>
#sumatorias Entre n: 14 Entre valor Entre valor Entre valor Entre valor Entre valor Entre valor

1: 2: 3: 4: 5: 6:

5 7 4 3 8 9

Entre Entre Entre Entre Entre Entre Entre Entre

valor valor valor valor valor valor valor valor

7: 7 8: 6 9: 5 10: 3 11: 4 12: 2 13: 1 14: 9

Total nmeros pares = 5 Total nmeros impares = 9 Sumatoria nmeros pares = 24 Sumatoria nmeros impares = 49 Sumatoria de los cuadrados de los nmeros pares = 136 Sumatoria de los cuadrados de los nmeros impares = 329

[Guess my age] Write a program to play "Guess my age:". El programa deber llamarse <guess.cc>
#guess Guess my age: 27 Too high! Guess my age: 25 Too low! Guess my age: 26 Well done - that took you 3 tries.

[Power] Write a program to calculate the power of one number raised to another. El programa deber llamarse<expo.cc>

#expo Enter base: 6 Enter exponent: 4 6^4 = 6x6x6x6 = 1296

[Amigos] Dos nmeros son amigos si cada una de ellos es igual a la suma de los divisores del otro, por ejemplo 224 y 284 son amigos ya que: 284 : 1 + 2 + 4 + 71 + 142 = 220 220 : 1 + 2 + 4 + 5 + 10 + 11 + 20 + 22 + 44 + 55 + 110 = 284 Elabore un programa que imprima todas las parejas de nmeros amigos menores o iguales que un numero n ingresado por teclado. El programa deber llamarse <amigos.cc>
#amigos Enter n: 300 (6, 6) (28, 28) (220, 284) (284, 220) #amigos Enter n: 3000 (6, 6) (28, 28) (220, 284) (284, 220) (496, 496) (1184, 1210) (1210, 1184) (2620, 2924)

(2924, 2620)

Vectores

[Mnimo] Hacer un programa que: a) Lea una secuencia de 5 valores numricos reales y los almacene en una vector. b) Muestre por pantalla cul es el valor mnimo, as como la posicin que ocupa en el vector. En el caso de aparecer repetido el valor mnimo se mostrara el menor ndice de los valores mnimos
#minimo Entre el Entre el Entre el Entre el Entre el

primer valor: 78 segundo valor: -12 tercer valor: 8 cuarto valor: 64 quito valor: -12

El valor minimo es -12 y corresponde al segundo valor

El programa deber llamarse <minimo.cc> [Cafetera] Veinte estudiantes de Ingeniera de Sistemas se les pidi que valoraran de 1 a 10 la calidad de los almuerzos en la cafetera

de la universidad. Un puntaje de 1 significa que la calidad es "psima" y un puntaje de 10 significa que la calidad es "excelente". Su programa deber colocar las 20 respuestas en un arreglo de tipo int y determinar la frecuencia de cada puntaje. Las frecuencias deben ser mostradas en forma de histograma.
#cafeteria Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Error: Entre un numero entre 1 y 10 Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Valore la calidad de los almuerzos (escala Puntaje Frecuencia 1 * 2 * 3 **

de 1 a 10): 1 de 1 a 10): 12 de de de de de de de de de de de de de de de de de de de 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 a a a a a a a a a a a a a a a a a a a 10): 10): 10): 10): 10): 10): 10): 10): 10): 10): 10): 10): 10): 10): 10): 10): 10): 10): 10): 2 3 6 7 8 10 7 8 3 8 7 5 4 9 9 5 4 8 8

4 ** 5 ** 6 * 7 *** 8 ***** 9 ** 10 *

El programa deber llamarse <cafeteria.cc> [Traductor de Cdigo Morse] El objetivo de este programa consiste en realizar un traductor de nmero a morse. Leyenda: : raya (seal larga) : punto (seal corta) Numeros 0 ----- 1 ---- 2 --- 3 -- 4 5 6 - 7 -- 8 --- 9 ---- Cada nmero en morse se representar en C++ por una cadena de 5 caracteres compuesta de puntos y rayas, segn la tabla anterior. Un ejemplo de lo que debe hacer el programa es:
#morses Entre n: 2005 ..--- ----- ----- ..... #morse Entre n: 1992 .---- ----. ----. ..---

El programa deber llamarse <morse.cc>

[Serie] Escriba un programa en C++ que calcule e imprima el promedio y la varianza de los elementos un arreglo de 10 elementos, donde cada uno de ellos se corresponde con los elementos de la serie 1, 2^2, 3^3, 4^4, 5^5, ... .
#serie Promedio= 1040507131.700 Varianza= 8932382587949776896.000

El programa deber llamarse <serie.cc>


// Program: serie.cc // Author: Yoan Pinzon // Date: Agosto 30, 2006

#include <iostream> #include <iomanip> #include <cmath> using namespace std; int main() { double a[10], suma=0.0, promedio, suma_var=0.0, var; cout.setf(ios::fixed); for(int i=0; i<10; i++) { a[i] = pow(i+1, i+1);

} for(int i=0; i<10; i++) { cout << a[i] << endl; suma += a[i]; } promedio = suma / 10.0; for(int i=0; i<10; i++) { suma_var += pow(a[i]-promedio, 2); } var = suma_var / 10.0; cout << "Promedio= " << setprecision(3) << promedio << endl; cout << "Varianza= " << setprecision(3) << var << endl; return 0; }